Skip to main content

This is Your Story

Posted by editor on June 21, 2005 at 7:53 AM PDT

Too big for a single book

Yesterday, Daniel blogged on Tim O'Reilly's blog entry
The Rise of Open Source Java, which noted an upturn in Java book sales, attributable to both a Tiger-timeframe refresh of popular titles, and to major open-source projects based on Java, such as Spring, Struts, Lucene, and AspectJ.

One of the talkbacks caught my eye, and not in a good way:

Doesn't this suggest that Java has maintained or increased in complexity, thereby requiring one or more books on a variety of topics for one to do anything useful? And that the Java community has failed to provide adequate documentation and support?

At this point, I'm finding that it is impossible to be productive in Java without several books. As opposed to working with Ruby, where Dave Thomas' book is pretty much all needs (unless you go the Rails route, then you'll be lost without one of the half dozen books due this summer. )

On its face, this is almost self-discrediting: by acknowledging the difference between language and libraries in the Ruby world, he immediately shows why a basic Java text can't also teach you how to use JSP's or Swing, any more than reading Kernigham and Ritchie will teach the budding C programmer how to write an app that uses CORBA, QuickTime, or some other third-party library.

But the more interesting idea is the suggestion that it is the community that is responsible for providing documentation and support, and that the Java community is lacking. It's hard to imagine someone seriously leveling this accusation at the Java community, where every public API is expected to have publicly-available Javadocs (and anyone with the source can generate those docs easily), where most frameworks and libraries with significant traction are covered by feature articles and tutorials on sites like and others, and where those resources are collected at one-stop shops like CodeZoo.

To top it off, isn't the number of books proof that the community is providing documentation and support? True, books aren't free, but given that the average book costs less than the average Java developer makes in an hour, and given that we authors do have mortgages and health insurance to pay for, the situation seems fair to me.

Is the Java community doing enough to document and support its many frameworks and libraries? Is that even a fair expectation? Let's hear what you have to say in the talkbacks below...

In our Featured Article, Nigel Warren and Philip Bishop apply SOA principles in the small device realm. In Taking Service Oriented Architectures Mobile Part One: Thinking Mobile, they describe how to implement SOA onto mobile devices, show how to implement a simple messaging application using mobile SOA design principles, point to some of the security implications and how to handle them.

In today's Weblogs.
Greg Murray has some BluePrints for writing JSF Components that use AJAX:
" This entry discusses different strategies for AJAX enabling new and existing JSF components. "

N. Alex Rupp is scoffing at "an odd story on this evening about how ISO 18629 is going to grant computer programs the ability to reason." In Software Language Makes First Step Towards AI? Hardly, he writes: "don't buy the hype -- it's bad reporting, and I'll tell you why."

Krishnan Viswanath writes: "I always thought that the Hash implementations (table & map) used buckets that are prime in number." In Hashmap Implementation, he writes: "But, recently, after digging around the source code to see what that default size is resulted in a bit of a puzzling situation."

In Also in
Java Today
NewsForge's Nathan Willis laments the Decline and Fall of the Version Number: "The world used to make sense. As the first rays of dawn broke over the horizon, farmers strode nobly into their fields of grain to reap the harvest of an honest season's living, while across the country programmers put to rest another night's coding and packaged a well-honed x.0 release, wistfully watching it bound off into the Internet to replicate blissfully on the mirror servers. People everywhere were happy. Then our version numbers collapsed. There was chaos. Some numbers got longer and longer. Some turned into letters and words. Some became dates. Nobody knew what the numbers meant anymore. People were afraid to ask what the numbers meant, and they became afraid of numbers themselves."

Are you tired of building and maintaining toString() methods for all your data classes? In Automate run time classfile modification, consultant Dennis Sosnoski shows how you can automate the process using J2SE 5.0 annotations and the ASM bytecode manipulation framework. He takes advantage of the new J2SE 5.0 instrumentation API to invoke ASM as classes are loaded into the JVM, providing on-the-fly class modification at run time.

In Projects and
you may be aware that periodic builds of the next major version of Java are posted to the J2SE 6.0 (Mustang) Snapshot Releases project, but do you have a good idea of what's in Mustang? The article Core Java Technology Features in Mustang describes the major new features and bug fixes, and whether they've already been integrated.

The latest Java Tools Community Newsletter notes the graduation of two projects from the community incubator: jTrac, a web-based generic tracking tool, and ThinNB, which provides Thinlet support to NetBeans by housing ThinNB NetBeans modules and installing the ThinNB Update Center in the NetBeans IDE.

In today's Forums,
bartspedden asks about
Unit Testing JAXB Objects: "I need to write some unit tests with junit to validate that two JAXB objects are identical. I've read that the .equals() on the JAXB object will not work here for some reason. I could write a sorter to sort the object data and then implicitly test each attribute, but that seems like the wrong approach since the JAXB object could change. I've gotten one idea of using the Jakarta EqualsBuilder but I figured I would post a question here to see how you all test your JAXB objects."

philrace clarifies some issues Re: Getting kerning: "In general, we can't assume simple pairwise kerning, though most of the time that's what we'll be getting from the fonts, so this may be too simple. Since it's quite possible you may want to use kerning in conjunction with ligatures, how do you expect to handle that? The fonts describe kerning pairs in terms of glyphs not chars."

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using our
news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href=""> News RSS

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href=""> events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Too big for a single book