The market is flooded with books on Java. All are different, few have ever been compared. The better ones combine the knowledge base of a world-class programmer with the compassion of a caring educator -- and hopefully, a sense of humor. Which of them best fits this description is a choice, we believe, only users should make. So we let you vote for your favorite teaching guide for the Java language. Here's what you had to say.
In a tight race, three contestants emerged on top. Thinking in Java by Bruce Eckel (Prentice Hall) ranked number one among tutorials you'd recommend to your peers. It was followed closely by Java in a Nutshell: A Desktop Quick Reference by David Flanagan (O'Reilly) and Core Java 1.1: Vols. 1 and 2 by Cay Horstmann and Gary Cornell (Prentice Hall), copping place and show honors, respectively.
Trailing well behind the leaders but still grabbing sizable tallies were Teach Yourself Java in 21 Days by Laura Lemay and Charles L. Perkins (sams.net), The Java Programming Language by James Gosling and Ken Arnold (Addison Wesley), The Java Tutorial: Object-Oriented Programming for the Internet by Mary Campione and Kathy Walrath (Addison Wesley), Exploring Java by Pat Niemeyer and Josh Peck (O'Reilly) and Just Java by Peter van der Linden (Sun Microsystems Press).
Judging by comments received from survey participants, students of Java are pretty savvy readers, astute enough to recognize that different books will have differing merits. "It is not really correct to compare all these books as like-for-like. It is appropriate for developers to consult two or more of those mentioned, and some might be of equal 'importance'," wrote one respondent.
The majority of user commentary, though, dealt strictly with opinions on the leading texts.
Of the survey winner, users offered the following:
"Thinking in Java is definitely a winner. Concentrating on the language first with humour and lots of good examples. It's the book I read from page 1 and follow chapter after chapter."
"Of the many books I have read, the only one which made me feel that I have more to know in Java is undoubtedly Thinking in Java. He has analysed very interesting issues, particularly in the chapters on Polymorphism, RTTI and Passing Objects.
"Thinking in Java provides a thorough treatment of what goes on behind the scenes in Java. This is missing from all the other books I have read. Especially the coverage of initialization, garbage collection, reflection, inner classes and polymorphism."
Others contrasted Eckel's work with that of the other leading authors.
"Eckel's book is great, Campione and Walrath's book is also very good. The Core Java book is good, after you've read the first two."
"Thinking in Java is very well-written. Java in a Nutshell is a ready resource. And although Teach Yourself Java in 21 Days is not the world's greatest Java book, it has an excellent structure and general approach."
"In terms of clarity, Eckel's is the best. I like the Java 1.1 Interactive Course because of the value-added service of answering questions. Van der Linden's is the third choice; it maintains the usual high standard of the Sun Java series."
Praise was also heaped on several other candidates.
"Java in a Nutshell is a very valuable book, not only as a desktop reference, but also as a very effective learning means. It provides robust basis for all developers and programmers."
"Core Java covers almost if not all the topics of programming in Java. It offers simple, extendible and clear samples. It's very well organized and you use it to begin with Java and to find references to what you need when you do advanced programming."
"Teach Yourself Java is great. Lemay is a very good teacher."
"Exploring Java by Niemeyer and Peck (O'Reilly): A great book with clear explanations, unlike several other Java books which omit important details. Highly recommended from someone with no vested interest."
"The Horton book [Beginning Java] is excellent. All major aspect are covered in special detail."
"Just Java and Beyond (Third Edition) had everything I needed to get started with Java. It discussed applets and applications, which I couldn't find in any other book in the store!"
For the record, here's the official order of finish using our 3-point weighting system:
The leading write-in offering was Java Examples in a Nutshell by Flanagan (O'Reilly).
We congratulate our survey winner and thank our users for their participation.