AXOPEN

JAVA 9 : Sortie prévue pour septembre 2016

Arrivé en mars 2014, Java 8 s’est imposé comme une petite révolution dans le monde des développeurs Java avec des nouveautés importantes comme l’API stream, les lambda expressions, ou encore la nouvelle API time. Un peu plus d’un an après, ceux qui ont pu s’aventurer sur le terrain de Java 8 n’ont pas fini d’en explorer les fonctionnalités. Mais la plupart des développeurs Java n’ont même pas encore pu s’en approcher puisqu’en 2015, Java 8 ne représente que 20 % des JVM en activité (contre 59 % de Java 7).

C’est dans ce contexte qu’Oracle annonce la sortie le 22 septembre 2016 de Java 9, seulement deux ans et demi après Java 8. Certes l’échéance est encore lointaine et il est probable que Java 9 ne voit le jour que début 2017, soit 3 ans après Java 8. Mais on constate encore une fois la volonté d’Oracle d’accélérer le calendrier des versions de Java, avec l’objectif annoncé de sortir une version majeure tous les deux ans. Pour rappel, Java 7 était sorti six ans après Java 6, et Java 8 trois ans après Java 7.Java9

Un planning étendu

Comme l’a récemment annoncé Mark Reinhold,  ingénieur en chef de JAVA, le planning du nouveau projet JAVA 9 est défini. Voici le programme des festivités :

  • 10/12/2015 : finalisation de l’intégration des fonctionnalités
  • 04/02/2016 : fin de la période de tests
  • 25/02/2016 : première phase de lancement
  • 21/04/2016 : élimination des bugs
  • 16/06/2016 : deuxième phase de lancement
  • 21/07/2016 : Final Release Candidate (version admissible )
  • 22/09/2016 : sortie de Java 9 !

Un chantier de taille : la modularisation

La modularité est un chantier ouvert depuis plusieurs années puisqu’elle était initialement prévue pour Java 8. Le but est de proposer une approche modulaire du JDK de manière à ne pas charger des outils inutiles (par exemple la bibliothèque GUI pour une application web), dans une optique d’optimisation et de performances : réduire l’empreinte en termes de démarrage de l’application, de taille du code sur le disque et d’usage de la mémoire. Cela implique de repenser entièrement la structure de Java, et plusieurs conceptions (et implémentations) ont déjà été développées dans le cadre du fameux projet Jigsaw.

En définitive, on ne sait pas si Java 9 intégrera Jigsaw dans sa totalité ou seulement quelques premiers éléments d’infrastructure modulaire. Affaire à suivre…

D’autres nouveautés au programme 

Un autre chantier majeur annoncé pour Java 9 est celui de la technologie Safety Critical : le but est de faciliter l’interfaçage avec des systèmes temps réel sécurisés, tout en respectant des exigences strictes telles que dans les secteurs de l’aérospatiale, l’armement ou l’automobile.

Dans une optique similaire, Oracle fait pression pour tenter d’imposer Java comme système embarqué dans les objets connectés.

Quelques nouveautés plus légères au menu : une API JSON native, le support de HTTP 2.0 et des web sockets (déjà inclus dans Java EE 7, sorti en 2014).

Conclusion :

Avec un planning accéléré et une volonté affirmée de mener de front des chantiers aussi divers que le web, les secteurs technologiques de pointe et les systèmes embarqués, Oracle entend maintenir Java sur le podium mondial des langages les plus utilisés, place qu’il occupe depuis plusieurs années. Plus encore, il impose Java comme un  leader des nouvelles technologies en intégrant systématiquement les fonctionnalités les plus poussées et en se montrant capable de se réinventer (avec la modularité) 20 ans après sa première version.