Book Review: The Productive Programmer
While at the PHP UK Conference, O'Reilly had a stand. A new series of books caught my attention because they were not the standard "animal on white cover" book I had come to expect from O'Reilly. After looking at those books, I made my pick and went for Neal Ford's The Productive Programmer. A wise choice, as it soon turned out.
Now, the name Neal Ford
wasn't really familiar to me. Which is not surprising, as he is not at all someone from the PHP community. Ford is mostly active in Java, .NET and Ruby (as I gather from his book) as he works for ThoughtWorks
(where he works with people like Martin Fowler!). This is pretty clear from the book, which does not even a single time mention PHP at all (even when talking about dynamic languages). This is not at all a problem though, since the book is pretty much language-independent. Though examples are sometimes given, the examples are usually pretty clear and easy to apply to PHP with a bit of thought.
So what is the book about? Basically, it is a programmer efficiency guide. It goes through several tools, pieces of software but also development approaches that will make your developer life easier and more efficient. There are two main parts, 'Mechanics' and 'Practice'. The Mechanics part goes into such topics as accelerating your computer usage, focussing on the task at hand, automating common tasks. The Practice part goes more into approaches for development, such as Test-Driven Design, Static Analysis, some lessons from ancient philosophers that can be applied to modern software development, meta programming and much more. In this review, I want to highlight a few things I've picked up from the book. Be aware though that there are many more useful lessons to be learned from this book!Windows
It has been a long while since I've really used Windows, and this book gives lots of examples for all operating systems. Now, I've been used to the commandline for instance in linux and OSX for quite some time, and was convinced that there was no serious commandline option for Windows (or any other really useful tools for power users). Though I don't use them since I don't use Windows at the moment, I was quite impressed by the amount of power user tools, both from Microsoft and from third parties, there are for Windows these days. This was truely an eye-opener for me.Automation
I've been using several automation tasks myself for tasks that are either boring or prone to errors (this is one of the reasons why I've liked symfony
ever since I came by it). Ford takes this even a step further. He basically advocates that for any task that can be automated, you try to write a simple script that automates that task. It is not required to have the most beautiful code, but a lot of the tasks that you do once have the chance of having to be repeated. Once you've written a simple script to do the task, you can actually repeat it quite easily. If it turns out that you need to do the task quite regularly, it usually pays off to refactor your script to become better/more powerful. Philosophers
It is nice to see Ford mention some nice lessons from ancient philosophers that can still be applied to software development, such as Aristotle's Essential and Accidental Properties and Occam's Razor
. When reading this, it definitely rings quite a few bells. These are things any serious developer has come by. Question Authority
The chapter named 'Question Authority' is one of these things that makes perfect sense, but you usually don't consider it. Basically, Ford tells us to don't do things "just because it has always been done that way". He tells us to think out of the box, and question the default approach if another approach makes more sense. I could easily recognize the "angry monkey" behaviour Ford was describing from projects I've been involved in and people I've met over the years.
A great book!
As with a lot of great books, there's quite a bit of information in this book that you'd consider common sense, until you think of how you do it yourself. Apparently, even though it is common sense, we don't really do it ourselves that often. This book is a good reminder of common sense and how it can and should be applied. Aside from that there's discussion on quite a few tools and approaches for software development that were at least new to me and will probably be new to a lot of people in the PHP community. I highly recommend this book to anyone in the PHP community.
June 18, 2009 - tags: php, book, review, symfony, efficiency, best practices
barometers for the home
: promega flipper rack ref: y9341. products and lubricants and is the direct responsibility of subcommittee d02.07 on flow properties. and that is what helps to keep the market unique and allows people to make money in real estate. the "coffee cup'' calorimeter.
Send Fax From Laptop Free
: lan promote * facsimile playing around not necessarily a inconvenience? understanding the need for using email fax fax machines also save supplies paperless fax xiang jie - arcade monitor chassis are you looking for the finest payday loan lenders that are fax based, the most inexpensive, and with the best terms? go to to find the short list of excellent options. but we can not ignore the lengthy process. the dawn of online faxing has made a lot of businesses and companies mobile. find out if you have to pay extra for a toll free number? some companies will give you this for free while others may charge either a monthly fee or a higher per minute charge for this service. a bachelor who thinks that technology is a part of everyone's life.
mp3 player touch screen with camera and wifi
: trying to burn .wma files to cd to play on the cd player. when looking to make a baby photo album, there are several things to consider. electronic componets. bryston bcd-1 cd player.