Broad Stroke Look at Java 1.2 and Extensions

Falls way short of the cover hype, good high level coverage but short on a lot of much needed depth.


Most of the Unleashed books I’ve read have been reasonably good, so its hard for me to say that I didn’t get as much out of this book as I was expecting. "Java 1.2 Unleashed" is well written and covers a lot of ground, exploring some topics not touched on by many Java books. The problem I had centers mostly around the lack of depth in certain areas. For example, the JNDI (Java Naming and Directory Interface) is explored in chapter 35, but fails to provide enough information to understand what its really about. In fact, the shallow example is misleading and the rudimentary API documentation from Sun more instructive. This is true of several chapters, so the caveat is don’t judge this book by the cover. The promise and number of APIs covered by the book is considerable, but few of them provide anything more that a snippet of information.

"Java 1.2 Unleashed" is divided into twelve parts in just short of thirteen hundred pages. The parts, listed in order, are: Programming with JDK 1.2, Applet Programming, Application Programming, Swing Programming, Enhancing Your Applets and Applications, Multimedia Programming, Creating JavaBeans, Network Programming, Developing Distributed Applications, Database Programming, Server-Side Java, and Extending Java. There are six appendices, one of which covers the 1.2 javadoc extensions, which I haven’t seen covered in any other book to date. Clearly, there’s a lot of information here, so the trick is to really assess where real meat of the book is to be found. This is especially hard to do while standing at the book store, given the illusion that much of the covered material is deeply explored. It’s easier to give you a sense of those areas that are covered peripherally.

Chapter 16 covers only enough about Drag and Drop to be dangerous. Sun has free online articles which are much more effective than this chapter. The Multimedia section is troublesome. Chapter 20 "Working with 2D and 3D Graphics" covers the 2D graphics API reasonably well, but prints a standard cube example for the 3D API without any meaningful discussion. Chapter 23 provides a pretty poor treatment of the Speech and Telephony APIs, trying to cover all that ground in only 8 pages. I didn’t find Chapter 50, "Java Commerce and Java Card" very useful either, with a total of only 4 unsatisfying pages dedicated to the biggest topic on the web.

If this was the only Java 1.2 book on your shelf, the above shortcomings may not be an issue for you. In fact, the basic coverage is very good. The mere fact that topics like InfoBus and Enterprise JavaBeans are covered may be sufficient for your needs, for example. Many topics like the JavaMail API, the Java Management API, Web-based push technology, the JavaOS, Microsoft variations, and the javadoc help generator are not covered much better anywhere else and the fact that they are all under one roof is quite valuable.

If what you need is a broad stroke across the multitude of Java 1.2 developments and APIs, this is a good book. A cautionary note about the lack of depth is warranted, given that the cover hype and a basic leaf-through (as in leafing through the pages at the book store) leave a false impression. This books does a great job of surveying a growing landscape. For many readers, this is exactly what’s required to make sense of all the angles. For readers who have followed Java since Java 1.0 or who are well versed in most of the APIs, there is less value here and you will have to decide based on your level of interest in each of the individual topics.