Slashdot Mirror


Java Developers Almanac 1.4 Vol. 1

Jason Bennett writes "The Java Developer's Almanac is an interesting cross-breed of a book. On one hand, it's a reference book for the entire Java 1.4 API, complete with a listing for every method in every class in the API. On the other hand, it's a mini-tutorial, as it comes with myriad examples of how to use various Java classes. In the end, though, it's a book geared toward the advanced Java developer, especially one facing a new part of the API who needs a little guidance." Read on for his review. Java Developers Almanac 1.4 Vol. 1 author Patrick Chan pages 1007 publisher Addison Wesley rating 7/10 reviewer Jason Bennett ISBN 0201752808 summary A concise reference to every class and method in Java 1.4, with examples for many.

What's the Book About?

The Almanac is divided into four main parts: packages, which covers every package in the core Java distribution, with the exceptions of the AWT, Swing, and printing; classes, which lists every class in alphabetical order, including all of its methods and fields; topics, which details the changes between each version of Java; and cross-reference, which allows you to look up every class, interface, and member type in Java 1.4.

Section 1, the package list, gives you every package in Java 1.4, every class inside those packages, the top-level description of the classes (from Sun's JavaDoc), a note of what JDK version the class was born in, an abstract/final indicator, and a hierarchy of the classes in the package. If this were all, it might be a nice, basic Java reference.

In addition to the strict listing, however, are hundreds of examples of how to use the classes; some basic, some obvious, and some you probably haven't seen.

The examples are extremely handy, if only to point out various utilities included with Java that you might otherwise not know about. With over 500 examples in the book, there's probably one you haven't seen or want to understand better.

There's also a website with all the code available at javaalmanac.com, so you don't have to type in every example you want to use in your code.

Section 2 provides a listing of every class in the covered packages in alphabetical order, along with all the signature of every public method in those classes. The book also cross-references every example in part 1 for each method. So, if you want to know how to better use ResultSet.afterLast(), you only need find the ResultSet class, and next to the afterLast() method are the two examples that use that method. With this easy organization, it's very straightforward to find any example you're looking for.

Part 3 goes through every major JDK release, starting at 1.0, and tells you everything you could possibly want to know about that release. You can find a statistical analysis of each release, including how many packages, classes, and members there are, how many classes in each package, new and removed classes and methods, deprecations, and all defined exceptions. I've certainly never seen a better or more compact reference on the differences between the JDKs.

Finally, part 4 gives a complete cross-reference for every class, interface and member mentioned. If you want to find every class that throws a ParseException, this is the place to find it.

What's Bad?

The one bad thing that strikes me about this book is actually just a simple question: Why should I use it when most of this information is at my fingertips in an IDE? Sun's JavaDoc is nicely thorough, and includes most everything in this book, the examples being a notable exception. Parts 3 and 4, of course, are not at all included in the JavaDoc, but I'm not sure how often I might need those sections.

So What's In It For Me?

If you're a down-and-dirty professional Java programmer, this book may very well be useful to you. The examples are quite handy, and as a reference to Java, it covers most anything you might need. Much of the information in the last two sections is hard to find in one coherent compilation. At $25 MSRP, it's an excellent value for all the information packed into the book.

Table of Contents
  1. Preface
  2. Part 1: Packages
  3. Part 2: Classes
  4. Part 3: Topics
  5. Part 4: Cross-reference

You can purchase Java Developers' Almanac 1.4 Vol. 1 from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

5 of 111 comments (clear)

  1. One tiny almost pointless nitpick... by sawilson · · Score: 4, Insightful

    There's also a website with all the code available at javaalmanac.com, so you don't have to type in every example you want to use in your code.

    Maybe it's just me, but I force myself to type in
    every example by hand from a book because I find
    I have better comprehension of the material down
    the road. But then again, I'm not "one who loves
    code". I'm more of the writing code to automate
    tasks type as apposed to a hardcore, sit in front
    of your favorite editor for 8 hours straight making
    elaborate things type person. Those guys are special
    in a weird but positive way. A guy I used to work
    with named Robert Sanders was the type that just
    looked at code and "got it". Definitely not my
    thang. He'd probably benefit from going to the
    website for a cut and paste.

  2. Checked it out by Rew190 · · Score: 5, Insightful

    Looked like a good book for beginners or those who don't want to view Javadocs over the 'net.

    Unnecessary for anyone who's either comfortable with Javadocs or has done a moderate amount of OOP.

    As was stated, you can get just about everything in this book online directly from Sun, for free.

  3. Printed API references considered harmful by Bemmu · · Score: 4, Insightful

    I have never understood printed API references. It's so much easier to be able to do a quick find on a computer. Reminds me of some Linux book that was just printed man pages. Yes I like reading real books rather than looking at a screen, but if I need to reference an API I'm already looking at the screen!

    1. Re:Printed API references considered harmful by west · · Score: 5, Insightful

      Online references are all well and good if you already know exactly what you are looking for. However, a printed manual is ideal for browsing. I read them over on the subway rides. I'm not trying to memorize every class and method name, just learn what classes and methods are available.

      I can then use online help to lookup the details later on. (The old "I know there's a class that does this...") Without the paper copy, it's far too likely that I'll only use classes that I have been made aware of in previous projects.

      It's also why I find the absence of printed manuals for many programs very annoying. Why bother to add a feature to a product when most of your users will never learn that the feature exists!

  4. comprehensive but somewhat redundant by Anonymous Coward · · Score: 1, Insightful

    An impressive, 1000 page plus tome. It has four parts, but the first two are the bulk of the book. Part 1 lists each java package. Within a package, it tells of each class and interface and provides examples of how to do often needed tasks. You already need to know java to fully take advantage of this. Part 2 is an alphabetical listing of all classes, from all packages. For each class you can see its ancestors and all members of the class, with calling arguments and return values. Part 3 has miscellaneous topics; most usefully the difference between java 1.3 and 1.4 (the latest), as in the title. Part 4 is basically an index, being a cross reference of classes and interfaces.

    The sweep of the book is comprehensive and up to date. But of limited use. Part 2, which is half the book, differs in no material way from this URL- .... Sun makes this available on the web as an aid to java programmers. Other websites also publish it. In addition, you can copy the manual and have it available locally on your computer. My mode of programming involves bookmarking the URL and having a browser window dedicated to it during coding. Not just me. In various companies and universities, I've seen others do this.

    Are you old enough to remember log tables? These were books of logarithms, powers and trigonometric functions. Prior to the advent of pocket calculators, students would have their own copies. They were comprehensive and correct. Now totally redundant. That is what Part 2 reminds me of. Granted, if your computer has no web access, then you need the equivalent of Part 2. But how many programmers today cannot browse?

    The book needs to go on a diet.

    The three other parts do have some utility. At least you should be sure of that before purchasing

    #Wes