Devox J4

Ce matin c’est encore Keynote.

Le Keynote commence par une présentation de Joshua Bloch, l’auteur du livre « Java Efficace ». C’est vraiment un speaker doué pour faire passer simplement un message complexe. Il a présenté quelques cas issus de son livre : les collections et notamment l’utilisation de super et extends dans les Generics., les bonnes pratiques sur les énumerations et enfin un tips sur la Lazy Initialisation.

Dans la seconde partie du keynote, Mark Reinhold a parlé de Java 7. La modularisation de Java avec l’abandon de la JSR 277 pour le projet Jigsaw qui sera compatible avec OSGi. Il a aussi parlé de ce qui pourrait être et ne sera pas dans Java 7. Dans les élus on trouve la modularisation (JSR 294 + Jigsaw), les langages dynamiques (JSR 292), new new I/O (JSR 203 avec enfin une vraie API pour le filesystem), et quelques changement du langages (JSR à determiner). Ces changements sont le safe rethrow, l’inférence de type, le multicatch. Swing n’est pas mort, il y aura aussi le Swing Application Framework (JSR 296).

Enfin, autre sujet polémique, il y aura un Forward port des fonctions de Java 6u10 dans Open JDK ( Java Kernel, QuickStart, plugin…)
Dans les changements plus petits on trouve un upgrade de l’architecture du ClassLoader, support Unicode 5, des changements à Swing (JXLayer, DataPicker et peut être le CSS Styling).

Il y aura aussi des améliorations de performances de la JVM (G1 Garbage collector, compressed Pointer 64 Bits, Multiple Virtual Machine…).

Pour les améliorations ne venant pas de SUN, il y aura les annotations sur les types Java (JSR 308 avec son @NonNull), et les améliorations à la concurrence et aux Collections de Doug Lea et Josh Bloch.

Pour ce que l’on ne trouvera pas dans Java7, il y aura les closures (deux ans de discussions n’ont pas permis d’atteindre un accord), first-class properties, les « reifed generics », la surcharge d’opérateur. Bean Binding (JSR 295) est aussi exclu car cela devient trop complexe. Cela tombera sans doute en faveur d’une solution plus simple comme le bind de JavaFX.

Enfin le plus important la sortie est pour début 2010.

11 réflexions au sujet de « Devox J4 »

  1. Oui mais elle n’est pas « massive ».
    Ca va être comme pour C++0x quoi.

    Mais c’est toujours bon à prendre et c’est toujours plus plaisant que de devoir répéter les types tout le temps.

    Merci pour ces informations en tout cas !

  2. Alp > Il y a déjà du type inférence en Java. Il s’agit simplement de combler certains cas vraiment très particuliers qui ne sont pas pris en compte. A mon avis c’est vraiment une « broutille » qui ne sera pas remarqué par 99.99% des développeurs ;)

    Le plus gros des changements serait venu des closures :(

    a++

  3. Tarul : pour beans binding je pense que c’est lié à l’absence des closures, qui pouvait grandement améliorer l’API des beans-binding, notamment en permettant une vérification du typage à la compilation (via les « mebers literals »).

    a++

  4. Salut Valère. Comment va ?
    Sinon, pour répondre à ta question, j’ai été parlé avec Stephen (le créateur de Jodatime) qui m’a confirmé que le JSR 310 ne serait pas dans le JDK 7. La raison est toute simple. Cela ne sera pas prêt à temps pour la sortie du JDK 7. Stephen travaille sur Joda Time et le JSR 310 durant son temps libre. Cela ne se fait pas dans le cadre de son travail. Et ne peut donc pas y consacrer tout le temps qu’il faudrait pour que cela soit prêt à temps.

    Voilà voilà.

  5. Pas de closures :(

    Sinon j’ai beaucoup entendu parler du G1 et surtout de la MVM… Je suis curieux de voir ce que cela apportera.
    (Au passage il est possible qu’on puisse tester le G1 sur du Java 6 avant la sortie de Java 7).

    Au fait : à quand une « umbrella JSR » pour Java 7 ???

    a++

Laisser un commentaire