There are a few programming books that I keep coming back to. "A Philosophy of Software Design" is one of them.
This is a slim volume. Heck, you can read it in one seating if you set your mind to it. It doesn't have a lot of code samples, and the ones it does have are Java or C++. No trendy languages here, thank you very much. What's more, it has the audacity to say TDD and agile are not perfect. It also says code is not self-explanatory most of the time (but it can be simple), and that's why you should write comments. This is probably why it rubs some people the wrong way.
But you know what? This is a good book. Sure, it's opinionated, but what experienced person isn't? The author is honest about it. And unlike some other authors who seem to think they have …
Reviews and Comments
This link opens in a pop-up window
Alex M rated Don't Panic: 4 stars

Don't Panic by Neil Gaiman, David K. Dickson, M. J. Simpson, and 1 other
'It's all absolutely devastatingly true -- except the bits that are lies' Douglas Adams
Don't Panic celebrates the life of …
Alex M rated A Mathematician's Lament: 3 stars

A Mathematician's Lament by Paul Lockhart
"A musician wakes from a terrible nightmare. In his dream he finds himself in a society where music education has …

The Truth by Terry Pratchett, Terry Pratchett (Discworld, #25)
The denizens of Ankh-Morpork fancy they've seen just about everything. But then comes the Ankh-Morpork Times, struggling scribe William de …
Alex M rated Candide and Other Stories (World's Classics): 5 stars

Candide and Other Stories (World's Classics) by Voltaire (OXFORD WORLD'S CLASSICS)
Candide, ou l'Optimisme ( kon-DEED, French: [kɑ̃did] (listen)) is a French satire first published in 1759 by Voltaire, a philosopher …
Alex M rated The Story of Philosophy: 5 stars
![Will Durant: The Story of Philosophy (1957, Pocket Books])](https://bookwyrm-social.sfo3.digitaloceanspaces.com/images/covers/d2b62cf0-980d-4d06-8902-4c47036c11c2.jpeg)
The Story of Philosophy by Will Durant (Pocket library, PL 500)
Alex M rated Uncle Petros and Goldbach's Conjecture: 4 stars

Uncle Petros and Goldbach's Conjecture by Apostolos Doxiadis, Apostolos K. Doxiadēs
Uncle Petros and Goldbach's Conjecture is a 1992 novel by Greek author Apostolos Doxiadis. It concerns a young man's interaction …
Alex M rated Ways of Seeing: 4 stars

Ways of Seeing by John Berger
How do we see the world around us? The Penguin on Design series includes the works of creative thinkers whose …
Alex M rated Companion to the Papers of Donald Knuth: 4 stars
Alex M rated The Shallows: 4 stars
Alex M rated Amusing ourselves to death: 4 stars

Amusing ourselves to death by Neil Postman
Amusing Ourselves to Death: Public Discourse in the Age of Show Business (1985) is a book by educator Neil Postman. …
Alex M reviewed A Philosophy of Software Design by John Ousterhout
Review of 'A Philosophy of Software Design' on 'Goodreads'
4 stars
There are a few programming books that I keep coming back to. "A Philosophy of Software Design" is one of them.
This is a slim volume. Heck, you can read it in one seating if you set your mind to it. It doesn't have a lot of code samples, and the ones it does have are Java or C++. No trendy languages here, thank you very much. What's more, it has the audacity to say TDD and agile are not perfect. It also says code is not self-explanatory most of the time (but it can be simple), and that's why you should write comments. This is probably why it rubs some people the wrong way.
But you know what? This is a good book. Sure, it's opinionated, but what experienced person isn't? The author is honest about it. And unlike some other authors who seem to think they have all the answers, Osterhout starts the book by telling you to use your brain. You're not going to agree with him 100%, and that's OK.
Don't let yourself be put off by reviewers complaining about this or that. It's a short book. You can read it in a weekend. Read it and make up your own mind.
A few thoughts about some of the other reviews:
- Some people claim this is an OK book for a junior developer, but it can't teach them much. This book rewards people who read it carefully;
- Some people don't like that the author spends so much time on comments. That's silly. It's like complaining about someone telling you to think carefully and organise your thoughts when you're solving a problem. Let them bang out code, and read on;
- Some will complain that the author is somewhat critical of TDD and agile. It's OK, let them bang out code, and learn how to think strategically.

Pyramids by Terry Pratchett (Discworld, #7)
It's bad enough being new on the job, but Teppic hasn't a clue as to what a pharaoh is supposed …
Alex M rated On the Shortness of Life: 4 stars

On the Shortness of Life by Seneca the Younger
Timeless advice on the art of living well, from the celebrated Penguin Great Ideas series The writings of the ancient …