Quelques informations de JavaOne qui débute ce mardi. Lors de la conférence d’ouverture, quelques annonces et quelques présentations, avec la présence de Larry Ellison, PDG d’Oracle sur la scène. A noter l’annonce d’un Java Store. Ce portail accessible actuellement en bétâ privé proposera une liste de logiciels et de jeux réalisés avec la technologie Java et JavaFX, avec à priori un modèle économique identique à l’AppleStore.
La conférence JavaOne 2009 peut être suivie avec Twitter ou via le site JavaOne 2009 qui permet de suivre en direct les plus grosses conférences. D’autres blogs comme eXoPlatform proposent aussi de suivre le déroulement de JavaOne.
Bravo Groovy !
La nouvelle aussi importante de la journée, c’est que Groovy a remporté cette année le Script Bowl. Organisé par Robert Chinnici l’an passé, l’idée est d’élire le langage de script préféré. Les concurrents étaients représentés par les leaders de leurs communautés : Tom Enebo (JRuby), Rich Hickey (Clojure), Guillaume Laforge (Groovy), Martin Odersky (Scala) et Frank Wierzbicki (Jython).
Chacun des représentants devaient montrer pourquoi son langage de script était le mieux, Guillaume a raconté sur Twitter, on devine que cela a dû demander un bon boulot de sa part. Alors bravo Guillaume !
Alex Miller raconte sur son blog le déroulement de la session. Voici une traduction libre en français. La session est organisée en 2 rounds. Un premier round où chaque gourou du langage présente les fonctionnalités clés, un deuxième round basé sur des fonctionnalités demandé par la Communauté.
Round 1 – les fonctions clés du langage
Franck Wierzbicki a fait une présentation rapide de Jython en mettant en avant la facilité de lecture et sa simplicité (« executable pseudo-code”). Il a aussi parlé de la facilité de l’usage du typage dynamique et de la réflection.
Guillaume Laforge présente quelques unes des nouvelles fonctions de Groovy 1.6 avec en particulier le meta-programming au moment de la compilation. Groovy a déjà un grand nombre de fonctionnalités de méta-programming et la version 1.6 permet de déclencher de la transformation du code à partir des annotations en autorisant la modification de l’AST (Abstract Syntax Tree) avant la génération du code. (note de nicolas : une très belle utilisation du pattern visitor par Groovy qui permet lors du parcours de l’arbre de surcharger et placer son code). Parmies les annotations citées par Guillaume : @Singleton, @Immutable, @Delegate, @Lazy et d’autres pour Swing comme @Bindable ou @Vetoable par exemple.
Exemple de code:
@Singleton class Evil { }
Rich Hickey (Clojure) a montré une version multi-threadée du jeu de la vie, comment Clojure facilite grandement l’écriture de programmes multi-threadé en nous permettant de se focaliser sur la coordination des Threads plutôt que de s’engager sur la gestion des vérrous et des états partagés.
Dick Wall (un des podacasteurs de JavaPosse) présentait Scala. Il a prit une approche intéressante en montrant comment certaines nouvelles fonctionnalités de Java 7 (Projet Coin) sont déjà supportées dans Scala. Il a montré par exemple l’utilisation des Strings dans les switch cases, la gestion des exceptions en Scala. Il a aussi parlé de l’inférence de types (note de nicolas : spéciale dédicace à Sadek, y’en a dans F#, Haskell et Caml) et des blocks ARM qui sont supportés en Scala.
Tom Enebo du projet JRuby a terminé le premier round avec une démonstration de la facilité à créer un DSL en utilisant JMonkeyEngine 3D Physics qui est un moteur pour créer des jeux impressionnants en Java. (note de dj nicolas : spéciale dédicace à Guillaume Pelletier, pour la partie 3D)
Round 2, l’épreuve de la communauté
Dans la deuxième partie, chaque langage doit parler de la communauté. Franck parle d’un IDE appelé Field utilisé par des artistes au MIT pour créer des projets artistiques, en utilisant Jython comme le langage de script. Guillaume a parlé de Grails et de Griffon et a montré une démonstration. Il dit d’ailleurs sur Twitter :
If you wanna learn abt the cool #swing #groovy #griffon demo that won the #javaone Script Bowl, go to the BOF-5189 on Wed 8:45pm, GW 104
Rich a parlé ensuite de l’utilisation du code comme données, Dick Wall pour Scala a fait une démonstration d’utilisation de CouchDB (une base Erlang) et de son utilisation à travers l’API Scala, écrite par Debasish Ghosh. Tom a montré l’essor de la communauté Ruby et JRuby en parlant du nombre de conférences, de livres, d’IDE et d’implémentations. Bref chacun a défendu son langage de script, j’imagine que cela devait être délicat.
Un vote à la fin par les spectateurs a permis d’élire Groovy comme le langage de script préféré à JavaOne 2009. Encore bravo à Guillaume, qui n’a plus qu’à venir au Paris JUG afin de nous faire une petite présentation aux oignons.
Twitter
Twitter et le channel #javaone sont particulièrement actifs, plus de 500 messages, avec par exemple des messages importants. Voici une petite sélection avant d’aller dormir afin de vous faire bosser un peu avec Google:
« jdk 7 = death of classpath #javaone » de @judahilm, @bienator
« Ouch. RT @timbray: #javaone press room consensus: This is the last JavaOne. »
« Just heard that Groovy won the Script Bowl at #javaone , beating Scala, JRuby, Clojure and Jython! Well done Guillaume!! » (Rod Johnson le patron de SpringSource dit bravo a Guillaume Laforge)
« Java Store is a confidential project. Please do not share your experience, thoughts, or opinions as well as any images – that SUCKS #javaone » de @dushyanth
« I don’t expect a lot of changes, just an expanded investment … coming from Oracle ». — Larry Elison at #JavaOne » de @webmink
« In javaone technical keynote (the real keynote IMO). JB in the Kenai demo announcing « Hudson in the cloud ». » @alexismp
Je vous conseille de vous prendre un compte Twitter, vous pourrez ainsi suivre mes blablas (@Letouilleur) ainsi que ceux des gens qui sont à San Francisco en regardant le channel #javaone.