Book review The trophy cabinet full of awards and prizes that Bruce Eckel has won for his ‘Thinking in Java’ attests to its classic status. And, despite it having been available as a free download, it’s also been a perennial best seller. Now, with the release of a new, fourth, edition, does the book still warrant the accolades? And does it remain one of the key titles to recommend to new Java programmers?
Whatever else you can say about the book, a quick read it is not. It now weighs in at a massive 1,400-odd pages. However, this isn’t bulk for the sake of it, Eckel provides fairly comprehensive coverage of the language, the core libraries, databases (JDBC), all manner of graphics (AWT/Swing is de rigeur for a Java book, SWT something of a rarity), interfaces to the native platform with JNI and more. And let’s not forget an introduction to object orientation, with a smattering of design patterns along the way.
This edition catches up with Java 5 and bills itself as ready for Java 6. This means more than a quick addition of a chapter on generics, (which does exist, of course), it also means that much of the rest of the book has been suitably generified. Coverage of enums, auto-boxing, for each loops, varags and the rest of the new stuff is also integrated into the text.
In addition to the scope, Eckel makes sure that there’s depth to his explanations. His primary tool for this is code. The book is littered with snippets of code, usually very short but complete programs that illustrate a point but often don’t actually do anything useful. Where others attempt to create code that is generally useful, Eckel prefers code that makes a specific point. There’s no big project running through this book, no shiny bit of software built up over the course of those 1,400 pages.
Eckel tends not to be especially verbose, the writing is direct and to the point, a bit like his succinct bits of code. This is matched by the design of the book: huge blocks of text with little variation in type-face, a lack of colour and a dearth of pictures (ok, there’s an occasional screen-shot, but even those are of the monochrome variety). It’s a pretty forbidding package, in all.
All of this is significant. ‘Thinking in Java’ is indeed a great book for learning Java and object oriented development, but it’s not a book for programming beginners. This is a book that’s best suited to existing programmers who want to make the switch to Java. If you’re a C or C++ programmer, for example, then making the switch to the Java - or C# come to that - mindset is more than a simple matter of learning a new syntax. Eckel’s book is about helping the reader make that change.®
Thinking in Java, 4th Ed
Verdict: If you don’t know your arrays from your enums then this really isn’t the place to start. On the other hand, if you’re an experienced programmer switching to Java…
Author: Bruce Eckel
Publisher: Prentice Hall
List Price: £42.99
Reg price: £34.39