18 of 18 people found the following review helpful:
5.0 out of 5 stars
Refreshing, 27 Jun 2004
This review is from: Effective Java (Java Series) (Paperback)
It has been an absolute pleasure to read this no-nonsense collection of observations and suggestions.
The author is extremely knowledgeable and articulates his points in a clear, concise and logical presentation, which is a rare characteristic in today's overflowed and low-quality offer of "how-to-become-a-guru" manuals.
The Collections framework is clearly the author's backyard and you will learn about implementation details and rationales that you will not easily find anywhere else.
What I found most useful in the analysis of the various Java aspects was the author's perspective, which is based on the pros and cons of implementation choices, and strongly focused on API construction. Unless you work alone and deliver complete applications, you will define, design and implement an API sooner or later, maybe even without realizing it. With the help from this book you will most certainly design a robust, maintainable and useful API.
I also liked the practical approach that sometimes goes against OO principles: for example, just because Java embraced the OO philosophy does not mean that inheritance is the only way to go. Composition, static factories, singletons, immutable classes and some good old procedural programming are discussed in depth.
Another brilliant characteristic of this guide (and I would like to especially thank the author for this) is that although there are plenty of snippets to illustrate concepts, these are just skeletons, never longer than few lines and therefore they do not force you to waste your time and divert your attention from the core issue by analyzing pages over pages of code when maybe only one line could have served the purpose.
I would say that this book finds its best audience in the experienced developer/architect who does not have a specific Java expertise but is very comfortable with some other programming language. However, everyone can benefit from in-depth explanations of often misunderstood subtleties like the "equals()", "hashCode()", "clone()" or "compareTo()" contracts. Or serialization: are you sure you master it?
You don't need a profound Java working experience to immediately grasp some concepts; I found that this guide was an excellent companion in my learning of Java, you can start reading it from day 0, and you will get back to it every time you want to know more about a new concept.
The best praise I can say about "Effective Java" is that in my opinion only a handful of experts in the whole Java community could rightfully say "This book shall not teach me no thing", and then I would like to work with these people.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
13 of 13 people found the following review helpful:
4.0 out of 5 stars
An essential and useful guide to common java idioms, 24 Sep 2001
By A Customer
This review is from: Effective Java (Java Series) (Paperback)
This book is a useful guide to common java idioms and practices. It contains essential advice that most people will only learn through years of experience with Java. Personally I prefer to learn from other people's mistakes and this book offers a wealth of mistakes to avoid and lessons to learn.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
8 of 8 people found the following review helpful:
5.0 out of 5 stars
If you can program Java, learn how to do it well, 4 April 2002
By A Customer
This review is from: Effective Java (Java Series) (Paperback)
This book provides maximum value, is easily readable, and very concise. High value per line. That's just what your code will give if you follow the guidelines contained here.
The format is simple, providing 57 distinct items of advice. Each item is small, some are obvious, some more complex. Even the obvious ones are valuable for their formalisation of simple approaches (the "why" to add to your "how").
It is so well written that it can be read cover-to-cover (a rarity in computer books for me), and then dipped into as a reference as and when an item becomes pertinent.
This is not a book to learn to program Java, but one to help experienced programmers write more effective Java. I doubt there is a Java programmer anywhere who would not benefit from some of the items.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No