The pitiful state of Java books

This evening I decided to spend some quality time in my local Barnes and Noble. Usually I stick to the history/current affairs/sociology sections, but today, I ventured further afield into the Java section. I thought maybe I’d learn a thing or two, see what kind of nonsense people are writing about, maybe have a giggle or two at the ludicrous things that people deem bookworthy.

Indeed, it did turn out to be quite the gigglefest. Lets discount all the really beginner stuff (java in 21 days, java in a nutshell, beginner java, java 1.2, java for children aged 3-5, java for single moms, etc etc), and have a look at the more specialised offerings.

The most common ’specialised’ book tends to be about Swing. Somehow though, they all assume that the reader is completely new to the subject. No matter what level the book advertises itself as, half the book is always wasted going over the standard Swing components. It’s as if the reader is assumed to be without access to a JDK/javadocs at all, and thus utterly unable to find this stuff anywhere.

Looking onwards, it turns out that this is a rather recurring theme. Almost every single book has, to some degree or another, huge tracts of information that can be gleaned from the most trivial online search/javadoc perusal. Some of the Struts books particularly excel in this space filler technique; often consuming up to 100 pages explaining the statelessness of http, the mystical nature of request/response protocols, and how useful forwards and redirects are, with the obligatory blurb about MVC this and MVC that. Perhaps they all secretly acknowledge that the average Struts developer is a bit less, well, developed than most people, and thus needs a little bit more hand holding. I suppose that does make them well aimed at their target audience, to be fair.

The EJB books also provide much hilarity. I was particularly tickled by a book advertising itself to be all about EJB 2.1. I naively thought to myself ‘Great! Something that’ll explain all the cool new things in a reasonable detail, perhaps even provide good critical analysis’. No such luck. The ‘2.1′ portion of the title turned out to be mostly a marketing gimmick. The OR/QL chapters all were wisely marked with a ‘2.0/2.1′ heading, with little to no 2.1 specific content. There was a little blurb in the back about Timers and web services, but it seemed to be grudgingly tacked on to avoid being sued, rather than any genuine interest in 2.1. Worried that they might alienate the huge swathes of EJB 1.1 developers (a crowd best left to slowly die the painful miserable death they deserve, foolish fashion victims that they are), the book also wisely includes much 1.1 material.

The one book I was actually looking out for was Bitter EJB. I’m vaguely mulling posting an EJB rant, and so wondered if it had anything I should take into consideration before spouting off. Sadly it was conspicious by its absence.

So I’m left wondering, are there any worthwhile Java books out there aimed at developers well versed in the (seemingly black) art of spec/javadoc reading?

7 Responses to “The pitiful state of Java books”

  1. Jed Wesley-Smith Says:

    well once you pick up The Java Virtual Machine Specification - Second Edition, you just can`t put it down again…

  2. Patrick Lightbody Says:

    My upcoming book (with Mike, Ara, and Joe) doesn’t rehash stuff that can be gleaned from docs/google… in fact we make a point to just point to the website in those situations. Rather we focus on how to _use_ the technologies as well as development methodologies (Test-Driven Development, for example) — all things you can’t just get from javadocs/spces/whatever.

  3. Cheah Chu Yeow Says:

    There are truly few good books, but some I found to be essential are Effective Java from Joshua Bloch and Java Development with Ant from Erik Hatcher and Steve Loughran.

  4. Tom Copeland Says:

    “Component Development for the Java Platform” by Stuart Halloway is excellent. It’s got concise explanations of classloaders, JNI, serialization customization, dynamic proxies - lots of good stuff.

  5. Charles Miller Says:

    Everything I ever needed to know about Java, I learned from “Mr Bunny’s Big Cup o’ Java”.

  6. cmdln Says:

    http://www.oreilly.com/catalog/javaebp/

    Not bad, assuming you have no anit-O’Reilly bias–and there is supposedly companion book for j2se. I also would recommend Effective Java.

  7. Will Sargent Says:

    Well, Effective Java is one book which actually has some kind of opinion, even if I think he’s somewhat fixated on the idea of not using interfaces as constants.

    However, if you want a good book in general, read Bitter Java or The Career Programmer. Very funny and true.

Leave a Reply