Manipulating and Metacodingby Chris Adamson
J2SE 5.0 ("Tiger") arrived as expected last week. Having had such a long and public beta, the release was perhaps more confirmation than revelation. After all, the first Tiger books started showing up last summer at JavaOne, and anyone who was waiting for generics or varargs has probably already made the jump. With 5.0 now final, I imagine the next thing to do is to file bugs against the final release and start complaining about the wait for J2SE 5.1.
Then again, you don't have to jump to 5.0 at all. Kyle Downey notes, "Application server vendors don't always fully support dot-zero releases right away; IDE, profiler, and other tool support can lag; many new bugs have to be fixed; and businesses are leery of building on anything so new." Also, Kyle is on Mac OS X, which is still waiting for Tiger. Still, Kyle's interested in annotations, and in "Bridging the Gap: J2SE 5.0 Annotations," he shows how to use metadata and metaprogramming both in J2SE 5.0 and in several frameworks that are compatible with earlier versions of Java, such as XDoclet, JBoss annotations, and his own P.Anno.
One advanced topic that is getting more attention is bytecode manipulation, and among the various entries in the field, the ASM toolkit is particularly successful. Projects such as Groovy, BeanShell, and AspectWerkz now use ASM, thanks to its light weight and high performance. In "Using the ASM Toolkit for Bytecode Manipulation," Eugene Kuleshov introduces an interface and uses bytecode manipulation to implement it in arbitrary code.
To subscribe to the ONJava.com newsletter (or any O'Reilly Network newsletters), visit https://epoch.oreilly.com/account/default.orm and select the newsletters you wish to receive in your user profile (you'll need to log in with your existing O'Reilly Network account -- if you don't yet have an account, you'll need to create one).
To change your newsletter subscription options, please visit https://epoch.oreilly.com/account/default.orm and click the"Manage My Newsletters" link. For assistance, send help to
"Sun's Java Desktop System (JDS) has faced a lot of flack from the Free Software community. People object to Sun's naming scheme and branding and have cried out in angst about JDS's complex and unattractive end-user licensing agreement." So begins "What's So Java About Sun's Linux Desktop?" by Sam Hiser, who writes that far from being bashed, the JDS should be appreciated as a tightly-integrated, stable, and compelling Linux desktop with a generous helping of Java applications and tools. Sam is also the author of O'Reilly's "Exploring the JDS Linux Desktop".
In our feature article from java.net, "The Blacksmith and the Bookkeeper, Part 1," Max Goff takes a historical and economic look at the title occupations, one of which lives on today while the other has been rendered irrelevant by progress. His goal is to compare both professions to the modern software developer, in order to produce "forecasts for the likely evolution of software programming as a viable future profession," though you'll have to wait for part 2 to see whether your career is doomed to obsolescence.
Please join us again next week.
Chris Adamson, editor