Devoxx 2009


I’ve just been calming down a little after almost two weeks of travelling conferences. Right after W-JAX one week ago in Munich, some colleagues and me took a trip to Antwerp to visit Devoxx 2009. I was supposed to give a talk on Hades on Monday what aligned perfectly to the factthat we released version 1.0 just a few weeks ago. It’s been my very first english speaking talk in front of such a big audience (aprox. 300 – 400 people). So it’s been an exciting experience.

Me talking about Hades

(Click the image for the full slideshow…)

Seems the talk was well received but of course there were a lot of this ought to be improved next time. You can find the slides here as well as on Slideshare. Besides that the video of the talk is available on Parleys (currently only a preview if you don’t pay the subscription fee).

Devoxx Highlights

Time to sum up some key things I will remember this conference for. First there was this incisive keynote by Robert “Uncle Bob” Martin on software development as a profession. It’s been a long time I saw such an intese combination of content and presentation. You can watch a simlira talk given by him on infoq.com but watch out for the Devoxx talk on Parleys.com. Even only this one is worth the subscription.

Sun made some technical announcements: JavaEE6 is about to become final on Dec. 10th 2009. I mostly look forward on the new servlet API and what implications that might bring regarding modular web applications. Most of the other stuff (EJB 3.1 and so on) is not that big news if you’re coming from a Spring background. Nevertheless it’s good to see that APIs and approaches, that have proven to be useful in open source projects are about to be standardized. Although there is still the question whether you want to bet on a standard, when the open source original is already 5 miles ahead.

Mark Reinhold gained ist Web 2.0 “15-Minutes-of-fame” version on Twitter when announcing, that Java 7 might get some stripped down version of Closures. Mark used a syntax similar to the one used in the FCM proposal by Steven Coleburn and Stefan Schulz, which of course raised a storm of tweets that this would be the proposal of choice. But in the BOF in evening Mark stated, that the # was really just a strawman and there is nothing decided yet. For him, his point was to emphasize that time is right to rethink about the proposals and take some steps in that direction. As the release of Java 7 seems to be postponed to late 2010, there should be enough time to do so.

Version numbers in Jigsaw

Another event of Devoxx that will stay in my mind is a discussion with Alex Buckley after the BOF on the Jigsaw project, which is the upcoming module system for Java 7. We got into chatting about how module clients and providers use version numbers to express what constraints they want to expose on their counterpart. Currently dependency management systems found in OSGi or Maven rely on the provider exposing a version number and the clients stating a required minimum version number or verson range. So suppose module B is in version 7.0 and module A requires B in 7 or above. The crucial thing here is “or above”. Module A would either simply state 7.0, which would include any version larger than 7.0 or rather use 7.0 up to everything except 8.0 expecting module B to be allowed to introduce breaking changes. Both approaches are flawed as in the first version A would be screwed if B introduced breaking changes in any upcoming version. Defining a version range is slightly better but has issues if 8.0 of B would not break for module B. If so, A would have to rerelease their module just to open up the version range.

Why is that? The reason is the unbalanced power current module systems imply to the clients. A provider simply cannot state which versions he is compatible with and thus avoid being inapropriately resolved for a client. Jigsaw is going to address this by letting the provider express requirements on the client. In the example given B would be able to express that the clients have to explicitly declare requiring 8 or above to really get it bound. Thus, clients declaring B required in 7.0 or above would not “see” 8.0 of B due to the restrictions made. This actually allows to formally define the semantics of version digits that are assumed informally with current module/dependency systems.

Java Posse Roundup 2010

Another big announcement was the date for the upcoming Java Posse Roundup 2010. It will again take place in one of the early weeks of March in Crested Butte, Colorado. The Roundup as an Open Space Conference for Java Developers. 2010’s theme will be “Best practices”. Really look forward to it.

Summary

This year’s Devoxx once again was an awesome conference that gave me the chance to learn a ton, meet and speak to many fellow developers and finally to promote Hades. Although it was a quite hard one for me this year (due to W-JAX the week before) I really would like to thank Stephan and the entire Devoxx team for organizing this event as well as everyone I spoke to, laughed and learned with – you all make events like this enriching.

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts

Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.

Reader Comments

Sounds like a great event. I’m sorry that I missed it.