Book Review: Java 5.0 Tiger: A Developer’s Notebook
Java 5.0 Tiger: A Developer’s Notebook (publisher site ) Brett McLaughlin David Flanagan
Java 5.0 Tiger: A Developer’s Notebook (J5T) was one of two books I requested from O’Reilly’s User Group support program during my last semester of school. I requested J5T because I was going to be working on an independent study that used Java 5 features in the existing code base. I was comfortable with “basic” Java from previous course work, but since it isn’t part of my day-to-day work, I hoped that a J5T would serve as a nice supplement to my existing knowledge. And for the most part, it did.
J5T does an excellent job of providing an overview of the new features in Java 5. The book is divided into chapters, with each focusing on one particular new feature. Topics covered include generics, autoboxing, annotations and threading, among others. The chapters on generics and Java 5’s enumerated types were particularly helpful, as these are two features that greatly simplify lots of Java 1.4 code. Seriously, who wants to deal with a Collection and have to perform a type-cast every time you get an object out of it? And while static classes with simple public final static members did 80% of the job of enumerations, having true enumeration support brings that final 20% which really makes it, well, work. Correctly.
The chapter on threading is also a welcome utility when I’m working with Java applications. Java’s threading has been a persistent mystery to me and McLaughlin and Flanagan do a good job of covering the basics you need for most use cases.
My complaints about the book are incredibly few and mostly echo my previous complaints about the last Developer Notebook I reviewed. They mostly boil down to this: I hate it when my books get scuffed, let alone have coffee slipped on them, so faux drink circles do not make me feel relaxed, only like I need a wet rag to wipe the book down.
Overall J5T is an excellent utility book for people coming from a Java 1.4 background. This also implies that it’s lifetime is somewhat limited: these features are only going to be new for so long, and more and more developers are going to get their first taste of Java in a Java 5 world. Luckily for authors, there’s always new features being added, currently in the Java 6 (Mustang). And if you don’t want to write about language features, I’m still waiting for Java Version Numbering in a Nutshell. Now that would be useful.