# A Philosophy of Software Design

DevFeed: [A Philosophy of Software Design](<https://devfeed.tech/articles/a-philosophy-of-software-design-36518.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/philosophy-of-software-design/>)

Published: 2018-10-18T10:07:35Z

Content type: opinion

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [book-review](<https://devfeed.tech/tags/book-review.md>), [books](<https://devfeed.tech/tags/books.md>), [code-comments](<https://devfeed.tech/tags/code-comments.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [philosophy](<https://devfeed.tech/tags/philosophy.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software-design](<https://devfeed.tech/tags/software-design.md>), [software-development](<https://devfeed.tech/tags/software-development.md>)

## AI overview

A review of John Ousterhout's book A Philosophy of Software Design, which distills decades of programming and language-development experience into practical ideas for managing software complexity. The review highlights concepts such as shallow and deep methods, information leakage, error prevention, and the role of source-code comments.

## Source excerpt

John Ousterhout, of TCL fame, has written a book that is as small (literally) as it is important. Weighing in at 178 none too big pages, it takes us on an inspired trip through what John has learned over the decades. There is no shortage of thought on programming. There is also no shortage of people doing programming. What is rare however is a compendium of mature insights from someone that clearly still is into programming.