On increasing programmer productivity

I review for the O'Reilly Blogger Review Program The Productive Programmer by Neal Ford (O'Reilly. 2008. ISBN 978-0-596-51978-0) is an interesting book on programming best practices. Neal, who is a practitioner, has brought into the book, his diverse experiences. In the lines of books in similar genre, this is a book meant for programmers to help them become more productive in what they do.

The book is divided into two parts - Mechanics and Practice. While Mechanics talks about various tools that help in Acceleration, Focus, Automation and Canonicality, the Practice section focuses on methodologies which aid productivity. While many of the programming examples in the book is in Java language, the book is, in general, langauge and platform-agnostic.

Neil gives a lot of importance to the developers getting the best out of the computer that they are working on. This means using command-line tools, using keyboard over mouse, knowing keyboard shortcuts for various common actions and so on. He bemoans the lack of skills of the present generation developers who are pampered by Integrated Development Environments.

In the Practice section, Neil talks about well-known methodologies like Test Driven Design, YAGNI, Static Analysis. In addition, he also brings in recent trends like polyglotand meta programming.

Neil refers to Windows Vista in many places, indicating that the book is dated. It would be good for it to be updated to Windows 7. The Chapter on Canonicality also probably needs to be revisited - since it seems to be written based on the ant. Neil advocates the versioning of everything that you do not build - like third party libraries, which seems different from the repository concept which is more popular today thanks to maven.

Note: I received an advance copy of the book as part of OReilly Blogger Review program.