||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 5.0, J2SE
Title: Java In A Nutshell
Author: David Flanagan
Verdict: A concise introduction and reference manual
It's about as big as a breeze block and would probably hurt as much if you dropped it on your foot?Yes, it's the latest edition of David Flanagan's 'Java In A Nutshell', now in a fifth edition to cover Java 5.0. As with previous editions there are two parts of the book. The first, and most immediately interesting, is a concise introduction to the Java language, object oriented programming, the main new language features of Java 5.0, coverage of the platform, tools and so on. It's the part of the book that is designed to be read and comes in at around 375 pages of the 1200-odd total.
The second part of the book is a quick reference of some of the key parts of J2SE API. Note that it doesn't cover all of J2SE, the AWT, Swing and SQL packages, for example, aren't included. That still leaves plenty that is included - I/O, lang, math, nio, security, text, util and XML API's (and their subpackages), are all listed. The quick reference provides concise information about a class and a listing of constructors, constants, methods, statics and so on. It's terse stuff and whether you find it quicker to navigate than surfing the Javadocs is a matter of taste - scanning down a printed page is often quicker than scrolling through a web page but HTML does have other advantages?
However, if the book consisted of nothing more than API listings it would hardly be worth reviewing, and that isn't the case. It's the first part of the book which provides a lot of value to the reader. Not only does it provide a very concise introduction to Java syntax, it also aims to introduce the platform, object orientation, security, programming conventions and a run-down of the development tools issued with the Sun SDK. In all that's a hefty lot of information to get across in 375 closely-packed pages.
For the Java beginner there are better places to start, and some of these are in our list of Java book reviews, however for an experienced C or C++ programmer the terse information here is more than enough to get started. The introduction to the Java platform chapter, which follows the introduction to the syntax, provides a high-level view of the main APIs. This introduction is code-centric, and good use is made of sample code to get the programmer started in exploring the vastness of the API.
For the Java programmer wanting to get to grips with the new language features there are a number of places to home in on. The syntax and platform chapters include a scattering of new language features. However it's the chapter specifically devoted to Java 5.0 which contains the most material. This chapter focuses on generics, enumerations and annotations, which are the most significant additions to the language for many years.
To conclude then, this is a monster of a book that combines the features of a reference book and an instruction manual. If you need a reference book for Java then this is certainly one to consider. If you are new to the language then it's probably best to look at one of the other more introductory titles.