Review of Think Like a Programmer: An Introduction to Creative Problem Solving (2012)
V. Anton Spraul (writer).
Read in 2025.
Pragmatic analytical reductionism with advice specific to computer programming.
I started reading this book because, as a senior software developer, I was looking for ways to improve as a mentor. The methodology that Spraul teaches is a good one, but the specifics have not aged so well that I would generally recommend reading this if you’re starting out. His examples are all C++, and although I personally learned a few things about C++ itself from this book, the poor syntax of that language obscures the methodology. If you go from this book to modern code, you will immediately trip over uniform initialization and other syntax churn. If you’re learning a language that is even slightly higher-level, fiddling with linked lists is not going to be the most effective use of your time.
Although Spraul mentions automated testing, he doesn’t show it. Instead of referring to version-control software, he recommends manually backing up your code. I don’t think he would have written quite the same book in 2025, but even so, it’s not the best place to start.