Last week, I went with 3 others Valtech guys to Javaday in Versailles.
Javaday is an interesting concept. It lasts only one day, and has no entrance fee. Even the lunch sandwiches are free. With such a premise, you would expect marketing talk and no much meat behind it. There is no doubt that it is a good publicity stunt for Sun (and you might leave the conferences believing that NetBeans is the only game in town, Eclipse coming as a distant second – IntelliJ or Visual Studio don’t even get a passing mention). But the presentations were remarkably technical and candid. In fact, only some of the presenters were Sun employees (including James Gosling). Most were from the French Open Source scene, with a strong delegation from the OSSGTP (Club Open Source Get Together Paris – weird name).
In the end, I left the venue with a warm feeling of contentment. I have seen real stuff; I have seen people that were happy to do those stuff; if fact, it makes me feel like, yes, I want to be part of that scene myself.
Now, a few words on the presentations.
Eric Mahé from Sun France gave the expected marketing presentation. As a tongue-in-cheek thing, he pretended to have found a new movement “Extreme Pixel Programming“. Hm… sure, why not.
- Oh, in the last slide, he pretended that 100% of Sun’s revenue ($13B) are coming from Java. Yes, I know that he meant that it is *derived* from Java. But still… who is going to believe that?
James Gosling gave an overview of what was going on and what should be expected. Nothing revolutionary.
- He said that Java was in 4 Universes (Enterprise, Standard, Embedded, Card) and that Enterprise is only the first step. Seriously, how many times have we heard that? Also, “the terminology application does not apply anymore, with components here and there”. Uhu.
- Among the usual new things from Java 5, he mentioned Collections.shuffle(List). That brought back memories to me from me I was in high school and trying to shuffle my own list. My solution was to randomly take two elements, and swap them. Reiterate as many time as you can afford. I wonder what they have done there? (update: as it turns out, it was available in 1.4 already; however, it has been updated in 1.5 to handle generics)
- Also, he said that Java 5 included many utilities and helpers. I hope it means that the incredibly useful (though low-profile) Commons package from Apache has found its way in there.
- BlueJ is an IDE designed to appeal to first time developers (“who haven’t written a single line of code before”). Between this and the proof-of-concept implementation of a Visual Basic-like language that compile into JVM bytecode, it seems that they are at last seriously targeting this crowd of people who does programming on the side with VBA. Will take years to make any impact, though.
- Similarly, Java Studio Creator (demonstrated many times during the day) is an answer to the drag & drop goodness of .NET Visual Studio. I saw a demonstration of Visual Studio 6 months ago, and it was seriously impressive. This thing seemed to be equally nice to show… though, like Visual Studio, it still means you’ll eventually have to dig into the code yourself, eventually.
- Pleasant demo of ICEbox (don’t bother looking it up on the web; it is proprietary; also, it has nothing to do with ICEsoft), a 3D design tool apparently developed at his brother’s company (??) …mostly shows that a company with a clear business process will do well.
- Reiteration of the usual performance claims. Apparently, some benchmarks have proven that Java is about as fast as C/C++, or even faster. It would also near Fortran. OK, why not?
We had a quick word from Max Lanfranconi, to promote the Java Community Process. The real meat was in the afternoon, but I didn’t get to see it, as I was booked into the AJAX demo.
Ludovic Champenois from Sun, and Emmanuel Bernard from JBoss/Red Hat demonstrated the power of annotations in JEE 5, and of the Java Persistence API.
- Annotations are here, of course, to supplant XDocLet. But apparently, they are also replacing Spring in some was, as they provide support for Inversion of Control.
- Emmanuel demonstrated all this with Hibernate, of which he is part of the team. Was a nice programming presentation, using annotations, Hibernate Validator. Too bad he had to manually edit XML files to make it work!
- A few years ago, I used to work with Emmanuel, when he was employee of a major retailer in Paris. His project was eventually canceled, but by that time he had become seriously involved with Hibernate. He was eventually hired by Hibernate/JBoss. And now that Red Hat has acquired JBoss, he was moved to Atlanta. Wow. I think I’m jealous.
Romain Guy, formerly from the Swing team at Sun, demonstrated Aerith, a Swing demo. It is in fact a mashup of Google Maps, Yahoo Geolocation and Flickr. Eye-candy-a-plenty.
Next, we had a presentation from a number of actors in the French Open Source scene (representing xwiki, Groovy, Hibernate, jCaptcha, Maven, and others). Interesting, though nothing new came up.
Finally, the morning was closed with a Round Table that included James Gosling. The usual questions came up (what is Sun going to compete with .NET? when is the GUI going to catch up? etc.).
- It was interesting that one of the guys (from the French Java Club) put on the same level Swing, Flex, Ajax and Vista, explaining that next year will probably see a war between them all.
In the afternoon, we had a 2-hour long session by Alexis Moussine-Pouchkine from Sun, on AJAX.
- Here are the tools he mentioned: Google GWT, Yahoo, Zimbra, Prototype, Atlas, DWR, AjaxAnywhere, DOJO Toolkit, jMaki. He also recommended looking at the Java BluePrints Solutions Catalog.
- Mentioned that JSON was an alternative to XML in the AJAX context.
- His presentation of the integration of jMaki into Studio Creator was quite impressive. Felt like RAD development, similar to what we see with .NET Visual Studio.
- Most interestingly, he talked about AJAX and server performance. Apparently, the first studies conclude that there is, in general, an improvement in the general performances, due to the lower quantity of information sent to the client. Of course, it is still important to make sure the Use Cases are correctly taking the constraints specific to AJAX into account.
For more about Javaday, check out Xavier’s blog.