Live data from Hacker News

A Philosophy of Software Design

web.stanford.edu

1–10 of 116 posts

Re: A Philosophy of Software Design

#3
I think Ousterhout has interesting approach for software complexity and it's causes. In a nutshell, he suggests it's composed of (cognitive) dependencies between the software components, and obscurity. If anyone has more reading suggestions which have focus on software complexity, I'd like to hear about them.

Re: A Philosophy of Software Design

#5
[redacted] are my favorite people on complexity. [redacted] was notably my professor for operating systems @ [redacted]. He taught not just ways to design software, but also ways to live.

[redacted]’s work is also directly influenced by [redacted], as referenced at the end of his article.

For [redacted], I suggest looking at the class website: [redacted]

For [redacted], I suggest his book, [redacted]

Re: A Philosophy of Software Design

#6
An alternative viewpoint on software:

https://www4.di.uminho.pt/~jno/ps/pdbc.pdf

Rather then using blurry fuzzy concepts about software. This book is called "Program design by calculation".

Which is to view software through the theoretical lens of math, science and engineering rather then "philosophy".

Should software design be interpreted using the blurry and hand wavy concepts of philosophy and literature? or should it be theoretically laid out completely with all primitives formally specified like newtons laws of motion? Can we model software in a very formal way and come to make EXACT statements and conclusions about program design rather then a bunch of opinionated takes?

Unfortunately, like all hard sciences pdbc is much harder to understand then a "philosophy" so most people end up switching majors to philosophy.

Or Perhaps it's not about the challenge... you just prefer the philosophical approach over the theoretical one. Your preference is very valid.

But to you I would ask: can you build a bridge, a car, or an airliner with philosophy? Or do you need hard formal theory and sciences? If we don't have hard and formal theory about software design are we being limited in what we can build?

Re: A Philosophy of Software Design

#7
His book is awesome! One takeaway I had: code reviews matter. If your code is undergoing review and a reviewer tells you that something is not obvious, don’t argue with them; if a reader thinks it’s not obvious, then it’s not obvious.

Re: A Philosophy of Software Design

#9

An alternative viewpoint on software: https://www4.di.uminho.pt/~jno/ps/pdbc.pdf Rather then using blurry fuzzy concepts about software. This book is called "Program design by calculation". Which is to view software through the theoretical lens of math, science and engineering rather then "philosophy". Should software design be interpreted using the blurry and hand wavy concepts of philosophy and literature? or shoul…

Do the business requirements (fundamental assumptions around design to be more generic) of a bridge, car or airliner change dramatically over time?

I'd argue not.

Software design, in my opinion, is both a science and an art so my stance is that we need both the formal theory and science as well as the philosophy and that they shouldn't be viewed as mutually exclusive.

Post reply on HN