Saturday, May 9, 2009

Common Java Cookbook

Like many others in our (software development) profession, I take at least a few minutes out of my day each day to quickly browse DZone topics. Even just reading the topic titles can help me learn new terms and become familiar at the highest-level with new languages, frameworks, and so forth. In most cases, most of us are scouring DZone for "fresh" information or to learn things we didn't even previously realize we needed to know. However, I have observed that, in some cases, it is actually an "older" resource that I was not aware of or a new resource covering an "older" topic that provides the most immediate value. This happened today for me thanks to bloid submitting the post Common Java Cookbook.

The Common Java Cookbook is an online, open book sponsored by Discursive and currently labeled version 0.14 (early Second Edition). This 12-chapter book, as its name suggests, is organized in a style similar to other technical books with Cookbook (such as Java Cookbook) or Recipes (such as Groovy Recipes) in their titles. Indeed, and not coincidentally, Common Java Cookbook is authored by the same author (Timothy O'Brien) of the book Jakarta Commons Cookbook. Common Java Cookbook covers many different aspects of Java development using the libraries of Apache Commons. Perhaps the best way to see the breadth of what is covered is to review the table of contents and to read the Preface (particularly the section What's Inside).

One of the most difficult but most important things about learning to develop in Java is to gain familiarity with the standard libraries and APIs (see also Joshua Bloch's Item 47 in the Second Edition of Effective Java). The Apache Commons provides a second tier of similar libraries and APIs that are similarly worth the investment to become familiar with. Indeed, many of the libraries provided as part of Apache Commons implement some of Bloch's and other experienced Java developers' recommended practices.

For anyone who is new to Java development or at least new to working with the Apache Commons libraries, I'll point out what might be a little confusing: the project now known as Apache Commons was formerly known as Jakarta Commons. One might say that Common Java Cookbook is to Apache Commons as Jakarta Commons Cookbook is to Jakarta Commons.

On the surface, the general availability of a new and improved version of a book devoted to Apache Commons is enough to be excited about. This is certainly a valuable resource that is likely to become only more valuable as it is enhanced. However, it is also an interesting case study for the benefits and drawbacks of open publishing.

No comments: