Over past few months I have been reading a number of technical books on programming. Here are three that are real good, in no particular order:
- Effective Java by Joshua Bloch. This is a nice reference book, in which the author covers some useful patterns and heuristics for writing Java code. You don’t necessarily need to read this book cover to cover. you can read the interesting chapters – as they as mostly self contained.
- Dependency Injection by Dhanji R. Prasanna. Dependency injection is one of those simple ideas (originally called “Inversion of Control” by Martin Fowler) on how within a running program object are constructed. The idea is not to have to build dependencies by hand coding them, but by having them constructed automatically. This idea turns out to be surprisingly powerful and this book explores how dependency injection can be used. Maybe the best thing about the book is that it contains tons of examples using Guice and the Spring Framework.
Funny aside – I wrote a review of a book on the Spring Framework long time ago. Turned out that particular book was not that good.