This year I attended Devoxx; the largest Java conference in Europe. I had high expectations as I previously had heard many good things about JavaPolis (Devoxx’ former name). However after three days of attending presentations I returned home with mixed feelings. First the good.
A conference of this size is bound to give you a good feeling of what is going on in the Java world. It might be my pick of the presentations but I got the feeling that nothing shockingly new was happening (except for arguably JavaFX, but more on that later). Instead the focus seemed to be on consolidating that what is working for the Java developers and addressing real issues Java developers are dealing with.
For instance in Thursday’s keynote Joshua Bloch talked about enums and generics and how to use them effectively. A good thing as I have seen many situations where developers should have used enums, but opted for a more conventional solution instead. As for generics, if things get more complicated then ArrayList<String> I have to slow down and be really careful about what I do. Any tips on using generics effectively is always welcome.
A good presentation was John Ferguson Smart’s presentation on “Behavior Driven Development in Java with easyb”. Again nothing shockingly new, but it did clearly point out problems many developers have with Test Driven Development; what to test? By focussing on the required behavior that needs to be implemented and using a testing framework that allows this to be expressed easily, writing meaningful tests should be a lot easier for many developers.
There was a strong focus on running other languages then Java on the JVM. Bill Venners presented on the “Feel of Scala” though I didn’t attend that one as it had been scheduled at the same time as the presentation on easyb. Nor did I attend Charles Nutter’s and Thomas Enebo’s presentation on JRuby. However I did attend Jim Baker’s and Tobias Ivarsson’s presentation on Jython and Brian Goetz’ “Towards a Dynamic VM”. Both were great.
I was thrilled to hear Jython is alive and kicking. With all the focus on JRuby, Scala, and more recently Clojure in blogosphere, one might have gotten the impression that Jython was all but dead. Instead a release that’s compatible with Python 2.5 is imminent and they demonstrated Django running on Jython.
Dynamic languages on the JVM are already quite fast compared to their relatives written in C. However with the enhancements planned for the JVM this should improve significantly in the future. Brian Goetz’ presentation was fairly technical and as such one of the better ones. It made me well aware of all the work the JVM has to do in running dynamic languages. Knowing this made me appreciate the current speed of the dynamic language on the JVM even more.
Another thing worth mentioning was the organization of the conference. They did a great job. From registration, sending my badge to my home address, lunch, coffee, snacks, drinks, announcements. Everything was organized very well allowing me to focus on what I had came for, attending presentations and talking to people.
Even though there were a fair number of good presentations some were really awful. Most notably IBM’s keynote presentation on Java and RFID. IBM is a large multinational. Devoxx is a huge conference with 3300 attendees. You would have figured they would have made an effort in delivering an interesting keynote. Looking at the result they did not. It was embarrassingly amateurish and clumsy.
They same holds for many other presentations. Some had potentially interesting content, but due to the way it was presented it was difficult to follow, or outright incomprehensible. I do realize it is easy for me to criticize people sitting behind my keyboard and writing a blog entry. After all I did not have to stand in front of a huge room filled with anything between 60 to 1000 people. But even so, more presenters should have done significantly better for a conference of this size.
And last JavaFX. Not necessarily bad as the presentations on it that I did attend were well executed and interesting. However I failed to see JavaFX’ relevance for enterprise Java developers. I might be wrong, but I would expect most of the attendees to fall into this class of developers. Sun however seemed to target a different class of developers. Nice graphics, animations, sound and video is all great. However I as an enterprise Java developer am more interested in how I can construct forms, the kind of controls that are available, communication with back end systems, etc. None of that was addressed. A pity and a missed opportunity for Sun.