Tech news
at TheJemReport.com
Software reviews
at SoftwareinReview.com
Hardware reviews
at HardwareinReview.com
Discuss technology
at TJRForum.com

April 18, 2006

Thinking in Java, 4th Edition review

Filed under: Tech Book Reviews — @ 11:23 am

There are a lot of books that try to teach both object-oriented programming and the Java language to autodidacts, but few do it so effectively as Prentice Hall’s Thinking in Java, now in its fourth edition. If you’re totally new to computer programming, or if you have trouble concentrating on what you’re reading, you may need a more elementary text, however.


Writing analysis

At more than 1500 pages, this book is a real behemoth. Many of those pages are consumed by example programs and code snippets that you’ll only glance at or spend a few minutes analyzing. The author’s code is also peppered with superfluous comments that, according to him, are a side-effect of an automatic function that retrieves code from his server and inserts it into the book layout so that he doesn’t have to do it manually.

Speaking of the code examples, they are terribly designed, especially the ones in the first few chapters. Instead of using sensible variable and method names, the author uses letters — sometimes many of them per code sample, which makes it impossible to follow in your head. He also likes to include his own homebrew libraries, using their contents so liberally that his examples are unusable without them. It’s better to read and take notes on what he says, skip his horrible code examples (except to see the one or two lines that show a new concept in action), and do the exercises.

The author is generally easy to read and understand, and he has an excellent grasp not only of proper object-oriented programming and Java language conventions, but of how to take advantage of the new features of Java 5.0. Although I did not read any previous editions of this book, I assume that they did not cover JDK 5.0 (1.5). It’s probably not worth buying the 4th edition if you’ve already got a previous edition and are familiar with Java. Thinking in Java is not really a reference text — it’s more for instructional purposes.

Putting the book to the test

Thinking in Java, 4th Edition plunges right into Java and object-oriented design principles, and maintains its rapid pace throughout the rest of the book. What separates Thinking in Java from its competitors is the inclusion of reader exercises. Integrated into each chapter (or at the end of the chapter, in some cases) are programming exercises of varying degrees of complexity. Each exercise asks the reader to design or modify a program that uses a recently-covered Java concept. So instead of just taking notes and answering questions, you actually have to sit at a keyboard and prove that you can use the language you’re learning. In all of the years that I’ve spent learning languages (both for programming and for speaking), I have never had much success without doing exercises in this fashion.

While this book uses a superior approach to teaching Java, it does not hold the reader’s hand or repeat complex concepts in oversimplified terms. In other words, be prepared to fully engage your brain if you’re going to use Thinking in Java, 4th Edition to teach yourself how to program in Java.

Some of the exercises accidentally ask about concepts that have not yet been introduced in the book at the time of their asking. Other than that, I found no major problems or errors in Thinking in Java, 4th Edition.

Conclusions

As I mentioned above, Thinking in Java, 4th Edition is not for the casual learner — you have to concentrate on the material and be motivated to learn it. The same could be said of practically any book on any kind of language, but this one doubly so because of its fast pace.

I highly recommend Thinking in Java to anyone who learned a programming language in high school or college and wants to get into hobbyist programming in a modern object-oriented language. You don’t need any object-oriented experience — the book will teach you what that’s all about — but you will need to at least understand the basics of procedural programming in C, C++, Pascal, Python, Perl, PHP, Lisp, or some other high-level language. Alternatively, you might also buy Thinking in Java with O’Reilly’s Head First Java to help you understand some of the complexities of the language.

Discuss this article or get technical support on our forum.

Title Thinking in Java, 4th Edition
Publisher Prentice Hall
Author Bruce Eckel
ISBN 0131872486
Pages Paperback, 1520 pages
Rating 8 out of 10
Tagline The definitive introduction to object-oriented programming in the language of the World Wide Web.
Price (retail) U.S. $38. Buy it from Amazon.com

Copyright 2006 Jem Matzan.


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.

| Contact Us | About Us | RSS FAQ |
Copyright 2008. All content items belong to their respective authors.