A Philosophy of Software Design - Bert Hubert's writings
a day ago
- John Ousterhout's book 'A Philosophy of Software Design' is a concise 178-page work that distills 40 years of experience into insights on software complexity.
- The book identifies complexity as the defining trait of software success and offers concepts like 'shallow' and 'deep' methods, 'information leakage', and 'pulling complexity downwards'.
- Ousterhout critiques common practices, such as over-emphasizing commit messages over source code comments, and argues that code cannot document calling semantics.
- The book covers a wide range of examples, from language design to low-latency distributed storage, making it unique in its scope.
- Good design leads to more enjoyable development, as designers spend more time in the fun design phase rather than chasing bugs.