TechBookReport logo

Keywords: Java, object oriented design

Title: Thinking In Java

Author: Bruce Eckel

Publisher: Prentice Hall PTR

ISBN: 0131002872

Media: Book, CD, Web

Level: Introductory, intermediate, advanced

Verdict: Highly recommended, but be prepared to work hard at it!

Now into it's third edition, there is little doubt that Bruce Eckel's Thinking In Java is a classic title that has earned a place on every Java programmers bookshelf. Unlike just about every other introductory title, this one tells you not just the 'how' of Java but also the 'why'. It is this difference that makes the book so useful at times, but it is only one of the factors that explains the book's enduring popularity - but more of this later.

Unlike most books aimed at the beginner, the author assumes that the reader does have some prior programming experience. It is assumed that you understand the basics of programming, that you have programmed in another language and are familiar with the core concepts such as looping, flow control etc. No assumption is made about knowledge of object oriented design, so knowledge of this isn't required. The aim is very clearly to teach Java from the ground up to those people who are already programmers. This is an important distinction and it means the book has a lean mean quality that is missing from most other intro books.

The book is cleanly structured, and begins with two introduction to object orientation chapters before starting to look at Java itself. Topics range from the basic - program flow - to steadily more complex and specialised - reflection, multi-threading and distributed computing. Each chapter contains code snippets, but these are used to illustrate concepts and principles rather than being blocks of code that can be lifted into your own applications. In contrast to many other books in this area, there is no mini-application that is built piece by piece as the book proceeds. There's a certain purity about Bruce Eckel's approach that rewards hard work and pays back in understanding rather than providing a quick fix of easy code.

Why is this book so popular? Aside from the purist and focused approach, it is also to do with the fact that book reaches areas that other texts don't. It can be hard work at times, but the effort is worth it. Furthermore the book is available on-line, the full-text is on the accompanying CD and so on.

Can it be recommended? It can, but there are times when the beginning Java programmer needs a quick answer to a problem. This is one area where other books might be more useful. However, other beginner books outlive their usefulness once a reasonable level of proficiency is achieved, this book will remain useful so long as you continue to use Java. It's that rare thing, an introductory book that really does take the reader from the basics to intermediate and advanced topics. It is, without doubt, one to keep on your Java bookshelf.

Hit the 'back' key in your browser to return to subject index page

Return to home page