Book Review: The Pragmatic Programmer
I just finished one of those once-in-a-decade, must-read kind of books, The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas. It has officially earned a place on my list of highly recommended books.
The book is a sort of tips & tricks for serious programmers, a collection of 70 vignettes with pearls such as
1. Care about your craft
11. DRY--Don't repeat yourself
14. There are no final decisions
22. Use a single editor well
30. You can't write perfect software
44. Don't program by coincidence
50. Don't use wizard code you don't understand
59. Costly tools don't produce better designs
70. Sign your work
Each tip is explored in depth in the text. The authors draw heavily on their many years of programming experience. The book leans slightly in the direction of Java and C/C++, but mentions even .NET languages as appropriate. Not knowing Java and having completely forgotten all my C++ (thankfully) was no problem at all. The relatively few code samples served only as clear examples of concepts, not as a tool for teaching language.
In fact, number 28, Learn a text manipulation language, has such compelling arguments that I've picked up a copy of Learning Perl and am working to learn it to enhance my development abilities. I work with text so much every day that at the very least being able to create quick and efficient one-off tools can be a great time saver. Besides, knowing a few languages is only good for the career!
This is one of those books—the other major one being Strunk & White's Elements of Style, which I read to help my writing—that I think I'll re-read each year. Most of the material is timeless, at least during this stage of computer software development.