[LWN Logo]

[Thinking in Java cover]

Thinking in Java, first edition

Bruce Eckel
Prentice Hall, 1998
Reviewed April 22, 2000 by Jeff Berry, nexus@avigne.org.

Thinking in Java is subtitled "The Definitive Introduction to Object Oriented Programming in the Language of the World-Wide Web", and that pretty well sums up what the book is trying to accomplish. For the most part, it succeeds.

Bruce Eckel developed and refined the book while teaching seminars on Java programming, and that approach is evident in the layout of the book. Each chapter reads like a lesson and even includes a summary of main ideas and exercises for the reader to practice. The result is a book that has some drawbacks as a pure reference, but which functions quite well as a course of study to learn the language.

Where the book really shines is in the insight it gives into Object Oriented concepts, mindsets and design considerations. Again and again, several ways to solve a problem will be given along with an explanation of which ones are best and for what reasons, and also which ones are most in keeping with the Object Oriented paradigm. Readers who are used to programming in more conventional languages, the emphasis on the object oriented design process is extremely useful.

The chapters do, for the most part, follow in a logical sequence and build on one another. Only occasionally did I find myself wanting to flip forward and look up something which had not yet been covered. The exercises were usually good, and presented a variety of challenges. Some of them, especially later in the book, are a bit involved though, and I found myself skipping over them.

The book is not, however, an introduction to programming. Without some background in general programming concepts and ideas, a reader would rapidly become lost.

The book is also not a reference book, nor is it intended to be one. Eckel refers the reader to other sources, online or within the installed Java environment, for extensive documentation of various standard libraries and so forth.

The book is a hefty 1098 pages, but the type is large. The code examples are, for the most part, illustrative but not overly long; Eckel states up front that he is not trying to give "real world" code examples, but rather digestible chunks.

Interestingly enough, the entire book (as well as other of Mr. Eckel's books, including the forthcoming second edition of this one) are available for free download on his website, http://www.bruceeckel.com. The Prentice Hall edition is for those who would like a nicely bound hardcopy version. The downloads include all the code samples from the book which saves a lot of typing for those exercises which involve modifying lengthy examples.

Eklektix, Inc. Linux powered! Copyright 2000 Eklektix, Inc. all rights reserved.
Linux ® is a registered trademark of Linus Torvalds