||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: Java, J2SE 1.5, Java 5.0
Title: Just Java 2
Author: Peter Van Der Linden
Publisher: Sun Microsystems/Prentice Hall
Level: Introductory Java
Verdict: Highly recommended
The best developer books are those where the author treats his or her readers as colleagues to be informed rather than inferior beings waiting to receive wisdom from on high. This is true whether the book deals with some arcane and complex technology or whether the book is pitched at an introductory level. There's no reason why a book that introduces a programming language should be any different - even if the material is, on the face of it, straightforward compared to the internals of compilers or operating systems or multi-variate statistics. This is a long-winded way of introducing 'Just Java 2', by Peter van der Linden, now into a sixth edition and updated for J2SE 1.5 (Tiger).
Written in a thoroughly engaging style, the book is both an introduction to the language and to the core J2SE libraries. This makes for a wide-ranging scope, covering everything from basic syntax, programming constructs (loops, flow control etc), objects (inheritance, polymorphism etc), files, network programming, introductions to XML, databases (JDBC), GUI programming (Swing) and a whole bunch more. It is then, a fairly complete introduction to the entire Java platform, even managing to touch on server-side programming with JSP and servlets.
The material is well-covered, with a good level of detail, useful code samples and a clear style that entertains as well as it instructs. While no prior Java knowledge is assumed, there is an assumption that the reader knows something about programming. So, while the book details how to create while loops in Java, it does not explain what a loop is. However, while the intention is to teach Java, the book certainly can work for someone who is new to programming as well.
The book proceeds in a logical order and is structured into five parts: language, key libraries, server-side Java, client Java and finishing with enterprise Java. While some of these distinctions are fairly arbitrary - why, for example, should regular expressions come under the heading of client Java? - there is no disputing that the book covers a lot of ground. Unlike some books, (Beginning Java 2, for example), there is no central project or program that brings everything together at the end. However this is a good book for dipping back into when required - in fact aside from the first two sections (language and key libraries), the rest of the material can be read in isolation or in any order.
Mention should be made of the 'some light relief' sections at the end of each chapter. These are extended asides that look at all sorts of issues, technologies and things which plain tickle the author. They add a lot to the charm of the book, even if they occasionally have only a tangential relationship to Java. Peppery comments and asides are scattered throughout the text, and again this adds to the appeal of the book. The author is not afraid to point out inconsistencies and annoyances in the language, nor to criticise decisions taken during the development of Java. It's clear that Java-love does not have to be blind and it's an antidote to unbridled zealotry or the pretence that Java is perfect.
Existing Java developers looking for an update on the new language features introduced in the 1.5 (or is that 5.0?) release, code named Tiger, will not be disappointed. All of the new features are covered, including generics, enumerations, static imports, scanners, printf and the rest.
The introduction to Java market is a crowded one, with plenty of excellent titles to chose from. This is one of the best though, and is heartily recommended.