Today i’d describe as the day of fast-talking brainiacs. This might be linked to my choice of talks, however: judge for yourself.
The keynote was mostly about Adobe Flex and Air, Adobe is very obviously a big sponsor of the event. First two guys of Adobe described the stuff.
Parleys.com is the excellent Java videos site which i will definitely visit to see all the talks i missed. The author presented the next version of this site. Apparently he judged Flex to be sexually arousing, because his talk was interspersed with ’sexy’ and he asked the audience at one point if there was anyone there who didn’t have an erection.
His demo of the new-version-to-be of Parleys was pretty impressive actually. Since i try to steer clear of proprietary frameworks, i’m not really interested in using Adobe Flex/Air, but this almost, but not quite, made me regret it.
Next starts the brainiac part. I went to a talk about Scala, by Martin Odersky. Scala is a language that is built on top of Java. It unifies OO and functional programming. It interacts with Java libraries seamlessly. It has some of the flexibility of Ruby, and closures, while having some features of its own.
For instance you can declare objects instead of classes when you will only need one instance anyway. Or you can define the interaction between two types in the parameter type (ex: you define a class for complex numbers, and you define in that class how integer is going to interact with it x = 1 + 1*i – without having to touch the integer type). That last feature could lead to chaos, IMHO. The syntax itself is not that attractive, not when you compare it to Ruby anyway.
Joshua Bloch talked about the introduction of closures in Java. The gist of it is that he doesn’t like it, at least with function types, like it’s done in BGGA (a Java-with-closures prototype). He proved, with lots of examples i’ll have to look at more slowly, that it would be full of booby-traps, and that it would change the feel of the language itself. So he’s all for a lighter version, involving some syntactic sugar but not redefining, say, control structures.
To continue in fully engaged brain mode, next talk (after lunch) was by (Crazy) Bob Lee. He talked about the upcoming Web Beans spec, which would be a way POJO-ise all objects on all layers of an application. Annotations galore.
Fortunately, next presentation was a bit softer (Emmanuel Bernard). How to make Hibernate Search interact with Apache Lucene to have full text search in java apps. It looked pretty easy. But then, doesn’t it always, until you try it.
I met the guys from 10to1, which was nice: i knew they were present the whole week, but with the crowd, i managed never to spot them.
Since Joshua Bloch was one of the co-authors of the last session with Neal Gafter, i expected it to be heavyweight again. Fortunately, it wasn’t. The showed us wee bits of code (Java Puzzlers) which leveraged, if you can call it that, bugs in the Java core libraries to produce unexpected outputs. An eye-opener.
I stayed on for the JRuby BOF (Birds-Of-a-Feather?): Ola Bini deployed a war on an OC4J server. It worked ! The worrying thing is that he seemed as surprised as the rest of us. He then showed us the impressive interaction between java objects and ruby objects/methods in JRuby.
So i did the groupie thing again and asked him to sign my copy of his book (JRuby on Rails). In style: flushed and stammering. A bit mortifying, i thought i was over that kind of thing in my ripe old age. After that i had to flee. Time to go home anyway.