←back to thread

1455 points nromiun | 3 comments | | HN request time: 0s | source
Show context
exclipy ◴[] No.45077894[source]
This was my main takeaway from A Philosophy Of Software Design by John Ousterhout. It is the best book on this subject and I recommend it to every software developer.

Basically, you should aim to minimise complexity in software design, but importantly, complexity is defined as "how difficult is it to make changes to it". "How difficult" is largely determined by the amount of cognitive load necessary to understand it.

replies(11): >>45077906 #>>45077954 #>>45078135 #>>45078497 #>>45078728 #>>45078760 #>>45078826 #>>45078970 #>>45079961 #>>45080019 #>>45082718 #
1. zakirullin ◴[] No.45077906[source]
That's best book on the topic! The article was inspired by this exact book. And John is a very good person, we discussed a thing or two about the article.
replies(1): >>45077958 #
2. exclipy ◴[] No.45077958[source]
Oh! I was surprised you didn't link or mention the book
replies(1): >>45077969 #
3. zakirullin ◴[] No.45077969[source]
It is mentioned/quoted in Deep Modules section: https://github.com/zakirullin/cognitive-load?tab=readme-ov-f...

Maybe I should make it more visible.