Book Review - The Productive Programmer


Yesterday, I finished reading Neal Ford’s, The Productive Programmer (Theory in Practice (O’Reilly)), a very good book that kind of summarizes some of the software engineering ideas that have been around lately. The book is a divided in two parts with different types of content, you can almost say that it is two books put together.

The first part of the book is about ways to improve your productivity by better using some of the features or software available for your operating system whether you are using Mac OS X, Windows and Linux. This first part is the main reason I bought the book as I always wanted to get better at channeling the huge potential of the command line which was lost when the mouse became popular.

The second part covers recent software development theories and techniques. Things like Test Driven Development, static analysis, encapsulation, meta-programming, and polyglot programming. One of my favourite topics covered by Neal is using other languages that run on the JVM. The possibility of including new, more modern and more efficient languages in a corporate environment by using the JVM is a great idea (check out Ola Bini’s talk on Adopting the JVM.  I haven’t programmed in Java for a while but I’ve been using JRuby on the JVM and it is great, the next step is try Groovy and see how helpful it will be before presenting it as a viable  tool to the other members of my team.

Neal gives us some good examples on using other languages to help in achieving our goals. Helping us keep in mind that our efforts as software developers should be about using the best tool for the task at hand. So, don’t be afraid: a little bit of JRuby meta-programming might help in creating more fluent interfaces, or you can rely on Groovy to test your Java code.

Concluding, if you are looking for overall information regarding software development today and some suggestions on how to become more productive by better using your operating system command line and other automation techniques, Neal Ford’s “The Productive Programmer” is a good read.