The Pragmatic Programmer (2e)

Author: David ThomasAndrew Hunt
Publisher: Addison-Wesley
Pages: 352
ISBN: 978-0135957059
Print: 0135957052
Audience: Programmers
Rating: 5
Reviewer: Mike James
This is a classic and its 20th Anniversary edition, its second edition, give us a chance to catch up with it.

The Pragmatic Programmer is 20 years old and this new edition is a celebration of this fact. It is a hardback, unless you opt for the Kindle version and nicely produced. The Kindle version is even readable and this is partly because there isn't a lot of code in it and so the layout is easier. To give you some idea of the type of book this is it is worth observing that there is an audio book version! Is this the only programming book that is available as audio? I can't see it catching on to anything with a high degree of program code.

If you have heard about this book you most likely will have heard nothing but good about it, but there are some things to be said that you need to know before you buy a copy.

This isn't a "how to" book it is more an inspirational self-improvement book angled towards programming. It does make reference to things that only programmers would know about, but it isn't "technical". It also isn't a methdology book in the usual sense. It doesn't cover agile, pair programming or anything similar, except as just a brief description. It certainly isn't a theory book- it doesn't do patterns or the ideas of OOP. It is best described as advice your mother might have given you if she was a programmer. It presents you with the  programmer's equivalent of "don't run with scissors".


You can get some idea of the content from some of the titles of the topics in the first chapter which is largely motivational in content:

    • The Cat Ate My Source Code
    • Stone Soup and Boiled Frogs
    • Communicate!

In Chapter 2 we have discusion of more programmer topics -  DRY, Orthogonality, Domain Languages and Estimating. If you don't know any of these ideas then you will enjoy learning about them.


Chapter 3 is about tools and here I disagree very much with the sentiment, which is something that is difficult to do with the rest of the book as it is so full of common sense. It takes the point of view that a text editor is your best tool - it's the "don't waste time with an IDE argument". This is mostly silly, but many programmers still believe that working with a text editor that they integrate with is the most productive way of working. This misses the point that programming isn't just about generating and editing text. A good IDE is a productivity booster and most certainly the easiest way to get started with, or learn a language, is to use an IDE.

Chapter 4 is more about general approaches to getting the job done - Design by Contract, Assertive Programming, Don't Outrun Your Headlights and so on. Chapter 5 is called Bend or Break and deals with some of the problems of modern programming - decoupling, inheritance and so on. Chapter 6 a short meditation on concurrency without getting into the details.

From here we have three final chapters that return to to the inspirational and motivational topics such as

    • Listen to Your Lizard Brain,
    • Naming Things,
    • Test to Code,
    • Working Together,
    • Pragmatic Teams,
    • Pride and Prejudice

and so on...

This is a well written book that is easy to read. For many readers it will be enjoyable and almost inspiring. What isn't so clear is whether at the end of reading it you will be a better programmer. It reminds me a lot of the tradition of making New Year's resolutions which are so quickly forgotten.

If you are looking for a book that is fun to read and will make you think about what you are doing when you program, then you will want a copy of this book.


To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.


Processing: Creative Coding and Generative Art in Processing 2

Authors: Ira Greenberg, Dianna Xu & Deepak Kumar
Publisher: Friends of Ed
Pages: 472
ISBN: 978-1430244646
Print: 143024464X
Kindle: B00ACC69U6
Audience: Artists and creative programmers
Rating: 4
Reviewer: David Conrad

Processing is a language aimed at artists and graphics people. This book at [ ... ]

Learn Java the Easy Way

Author: Dr. Bryson Payne
Publisher: No Starch Press
ISBN: 978-1593278052
Print: 1593278055
Kindle: B0713P1RBH
Audience: Java Programmers
Rating: 2
Reviewer: Mike James

Who could resist an easy way to learn anything?

More Reviews

Last Updated ( Tuesday, 31 March 2020 )