A review by mattj256
Effective Java: Third Edition by Joshua Bloch

5.0

This is an advanced book, for those who already know the Java language and want to be familiar with best practices. I really appreciate the author's Talmudic knowledge of the intricacies of the Java platform, combined with his very precise use of language. In the acknowledgements section Bloch mentions 11 people who reviewed every chapter (including his wife) and another 11 who reviewed parts of the book. That seems like a lot of people to me!

I got a strong sense that each word and phrase was only allowed to remain in the book after careful review and reflection. While the author has clear opinions, he is careful to point out the justification for each rule as well as edge cases and counterexamples. I really appreciate his pragmatism: the point is to write programs that will have good security, maintainability, performance, and other attributes, not to blindly follow rules.

I also appreciate his occasional references to 1960s popular culture and occasional humor. Some of the sections (especially generics and streams) can be very dense and technical, and the humor helps to make it more fun and digestible.