Code of Architecture · book series
A Philosophy of Software Design
John Ousterhout
A review of John Ousterhout's approach to complexity, deep modules, interfaces, decomposition, and code that is easier to change.
4 episodesApril 3, 2023 — April 25, 2023
sequential review
All episodes in this series
4 episodes
- #011:07:46
A Philosophy of Software Design — Episode 1
The first episode introduces the book's central theme—software complexity—and how design can keep it under control.
- #021:06:53
A Philosophy of Software Design — Episode 2
Part two develops the ideas of deep modules, simple interfaces, and hiding complexity behind durable abstractions.
- #031:03:08
A Philosophy of Software Design — Episode 3
The third episode discusses decomposition, information hiding, and warning signs of designs that push complexity onto module users.
- #041:12:31
A Philosophy of Software Design — Episode 4
The final part connects the book's principles with everyday engineering work: naming, comments, change, and resisting tactical complexity.