Rating: ★★★★★ (5 of 5 stars)
The Practice of Programming (TPOP) holds its promise to focus on topics are not taught directly in Computer Science.
I read this book in preparation to my first development position in my working life and would recommend this book to everyone else in a similar situation without hesitation.
Even though the book is now (as of 2020) about 20 years old, the statements and examples are still very valueable. The examples in different programming languages are understandable, despite being unfamiliar with them.
All 9 chapters are worth being read. Every chapter contains at least 1-2 sentences that stunned me. These sentences made me put away the book, think about it and then let the words sink in. The sentences that stunned me were practices that:
a) I was already doing implicitly without having really thought about it
b) I wasn’t doing but that would have had provided a lot of benefit in several occasions
Without wanting to spoiler too much, just 2 examples of those sentences:
- “As a rule, try to handle irregularities and exceptions and special cases in data. Code is harder to get right so the control flow should be as simple and regular as possible.”
- “As much as possible, start with something simple and evolve it as experience dictates.”
Another aspect I really liked about the book is the appendix with the collected rules. Before reading a new chapter one can revise the collected rules/guidelines, remember the key messages and example and consolidate these new insights.
While reading this book I realized that there are so many topics that I haven’t had properly thought of/questioned before. This book provided some insights in those topics and make me now think of/question topics that I wasn’t paying enough attention to before.