Tim Bell, a Sun Java engineer, recommended to me Effective Java while discussing a feature report I made. He said:
And if I could put in a plug for Bloch's book, I will. I bought my copy out of my own pocket money. It is well worth it. It is full of lessons learned the hard way. Reading it will save you much of your own debugging time, and you will write better code.
That's how you praise a programming book!