The Pragmatic Programmer (2e)

Author: David ThomasAndrew Hunt
Publisher: Addison-Wesley
Pages: 352
ISBN: 978-0135957059
Print: 0135957052
Kindle:B07VRS84D1
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".

Banner

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.

Banner


Elements Of Game Design (MIT Press)

Author: Robert Zubek
Publisher: MIT Press
Pages: 256
ISBN: 978-0262043915
Print: 0262043912
Kindle: B087PL89PY
Audience: would-be game developers
Rating: 4.5
Reviewer: Kay Ewbank

Is developing a computer game very different than working on a different sort of app, and can you learn how to do it from [ ... ]



PHP In Easy Steps, 4th Ed

Author: Mike McGrath
Publisher: In Easy Steps
Date: April 2021
Pages: 192
ISBN: 978-1840789232
Print: 1840789239
Kindle: B08ZSV3MNH
Audience: People wanting to learn PHP
Rating: 4
Reviewer: Ian Elliot
PHP isn't a fashionable language, but this doesn't mean it isn't worth learning.


More Reviews

Last Updated ( Tuesday, 31 March 2020 )