91 of 94 people found the following review helpful
A powerful update to an already-classic title,
This review is from: Effective Java (2nd Edition) (Paperback)
Please see my review of the first edition for my general response. My opinion hasn't changed with the second, so I'll focus on what's new in this review.
The second edition was well worth the wait. The number of items are beefed up to 78 from 57. The chapter "Substitutes for C Constructs" is gone, but replaced by more contemporary material on "Generics" and "Enums and Annotations." Some first edition items have been amended to address features new to Java since the first edition was released. Some new items also address concurrency, favoring it over traditional Java threads. As expected, the cases for each item are methodically and persuaisvely made. If you are particularly interested in concurrency, also consider Java Concurrency in Practice.
The item discussions use boldface liberally to highlight key points, sometimes calling attention to arguments in the first edition that have been updated. If you're skimming -- the author in fact doesn't encourage cover-to-cover reading -- these highlights are useful attractors to important material you might otherwise gloss.
It's often helpful to have practices or insights you've earned on your own backed up by a reputable authority. Effective Java certainly helps with that. More importantly, the arguments that support his items are clear, easy to read, and compelling. Anyone proficient with Java would have to go a long way to find fault with them. In fact, it took considerable investigation to determine that one item from the first edition -- "Provide a readResolve method when necessary" -- was not the best advice for some cases. Bloch addresses that issue head-on in this edition, and provides its replacement ("For instance control, prefer enum types to readResolve").
As with the first edition, this one is a necessity for any serious Java developer.
Sort: Oldest first | Newest first
Showing 1-3 of 3 posts in this discussion
Initial post: Mar 28, 2012 1:09:52 PM PDT
Amanroop Singh says:
So I'm guessing it's not good for complete beginners?
In reply to an earlier post on Mar 28, 2012 1:20:47 PM PDT
Michael Ernest says:
Not so much, in my opinion. With most programming languages you can learn a lot by example, of course. And while there are a some of Bloch's guidelines you would do well to adopt early in your career, the real teaching power of the book is the careful analysis and rationale that supports the guidelines. That's hard to appreciate, much less digest and incorporate into your work, without some experience.
No harm in trying to use it, but this book will not teach you how to program in Java. At best, it will show you how to write better code than you already do.
Posted on Mar 1, 2013 9:09:59 AM PST
Do you feel this book still holds today? Or is there another you would recommend? I'm at the stage now where it's time to start pushing my code to absolute best practice and am on a lookout for a good reference.
‹ Previous 1 Next ›