Bruce A. Tate & Justin Gehtland
A great book for someone else - about the worst thing you could say for a book.
The other week Vaughan Roberts, the rector of my church, was giving a sermon on the sermon on the mount. He was covering Matthew 7, where it talks about not judging:
Do not judge, or you too will be judged. For in the same way you judge others,
you will be judged, and with the measure you use, it will be measured to you.
Why do you look at the speck of sawdust in your brother's eye and pay no attention to the plank in your own eye? How can you say to your brother, 'Let me take the speck out of your eye,' when all the time there is a plank in your own eye? You hypocrite, first take the plank out of your own eye, and then you will see clearly to remove the speck from your brother's eye.
And he said that a very common reaction to this passage is to think "Well I know that, but I wish my friend Luke would read that"! (As far as I know, I don't have a friend called Luke.) Well on reading the Better, Faster, Lighter Java book, I had a very similar reaction.
It was full of good stuff, but things that I wish that my colleagues could read, rather than new ideas for me. Concepts like doing the simplest thing that could work, and not doing too much up front were prominent, which will be familiar to anyone who has tried XP. Now that makes it useful, because the authors explain concepts better than I probably would. Also it showed me that I am not alone in my opinion on certain programming topics. Also, if you didn't know about Hibernate (I did) or Spring (I didn't) it's worth reading, but now I've told you about them.
So I cannot give it a huge recommendation, as I cannot tell you much I learnt from it, it just made me feel self-righteous. I've lent it to one of my colleagues, and I await to hear what he thinks of it.