Reviewed by Conrad Weisert, April 26, 1999
Balancing the Java hype
Van der Linden treats the readers as respected colleagues. Unlike most Java
insiders he doesn't try to persuade us that Java is the perfect tool for every
situation. Although his enthusiasm is obvious, he candidly concedes some of
Java shortcomings and particularly egregious flaws, e.g. the notorious
Structure and style
I was particularly pleased to find quickly answers to issues that were either omitted from or hard to find in two-dozen other well-respected Java books2 on my shelf. From here on, this will be the first place I look for general information on Java programming.
Update—February 26, 2009
The 2004 sixth edition (ISBN 0-13-148211-4, 800 pages) continues the excellence of its predecessor. A competent programmer who masters the content of this book will be prepared to take on a huge range of software development projects.
The one shortcoming is that the book still pays less attention to application domain classes and application-oriented programming than to internal program structures, such as graphical user interfaces, networking, and sophisticated containers. But that's a problem not with the book but with Java itself.
Those of us who remember the early promotion of Java as a simple language are appalled by the massive complexity that has crept incrementally into Java and its essential libraries. We may find some of the new feaures convenient and even powerful, but the totality is intimidating. (Regular readers will know that I don't share the author's enthusiasm for XML.)
Is Java a suitable platform for implementing an application? Van der Linden's book ought to answer that for you.
The book is suitable either as a text for an OOP/Java course or for self-study by an experienced programmer. Van der Linden's informal style is clear and the examples reasonably well motivated.
Like most other writers on Java, van der Linden fails to exploit the object paradigm for elementary (as opposed to composite and container) data types. Their aversion may stem from Java's clumsy syntax for everyday arithmetic and comparison operations.
To represent amounts of Money, Distances, or
Durations, for example, as primitive
data items forgoes
the benefits of type safety and localized knowledge, and naively reverts
to the world of Fortran programming.
On page 60 van der Linden actually suggests the extreme
anti-object-oriented quasi-class approach.
Since I know of no other Java text
1 A peculiarity originated by C++.
2 In particular it's a lot easier than the second edition of David Flanagan's Java in a Nutshell.
3 If you know of one, please tell us.
Last modified February, 2009
Return to book reviews.
Return to IDI home page.