Tuesday, September 14, 2010

JavaOne 2010 Abstract of the Day #10: Code Generation on the Java Virtual Machine

Hamlet D'Arcy will be presenting "Code Generation on the Java Virtual Machine: Writing Code That Writes Code" (S314118) at JavaOne 2010 and this session is presently scheduled for Tuesday, September 21, in Parc 55's Cyril Magnin II.  This is a relatively early one (begins at 8 am), but it's worth getting up to get to it early because it is already "Full" (no more pre-enrollment for early access seating).  The abstract for this presentation reads:
"The Pragmatic Programmer" admonished us all to "write code that writes code": use code generators to increase productivity and avoid duplication. Today's language communities have clearly caught on, as more and more frameworks generate code at compile time: AST Transforms, Project Lombok, Spring Roo, and more. This session reviews these approaches, including examples of how and why we'd want to do this. The session will showcase the newest Groovy language tools, look in-depth at production deployed AST Transforms, and view libraries based on these techniques. This session is intended for developers searching for cutting-edge solutions to increasing team velocity.
The abstract's mention of this presentation demonstrating "the newest Groovy tools" kept my attention after first looking at this abstract because of my interest in code generation of code.  I have even used Groovy in this blog (in rather simplistic fashion) to generate code examples and find this to often be a useful technique in other areas as well (SQL generating SQL, for example).

This abstract specifically mentions discussing Groovy's AST Transformations, Project Lombok (creates Java code with "boilerplate" code and resource management generated from specific annotations), and Spring Roo (Java rapid application development tool).  It's a lot to cover in one hour, but I am looking forward to seeing this presentation.  D'Arcy has blogged on Project Lombok and the video and slides for his Czech Java User Group (CZJUG) presentation "Code Generation on the JVM" are available at http://canoo.com/blog/2010/07/14/code-generation-on-the-jvm-video-and-slides/ (covering Lombok, AST Transformations, Spring Roo, Spock, and GContracts).

No comments: