ArticleApplications & Développement
Quelles perspectives pour les prochaines versions de Java SE ?
Oracle prévoit d'utiliser les technologies de plusieurs projets pour apporter des fonctionnalités à Java 18.3 et aux versions ultérieures.

Après le Java Development Kit (JDK) 9 livré le 21 septembre dernier, Oracle a programmé plusieurs mises à jour pour Java SE, y compris pour la version Java 18.3 prévue en mars 2018, conformément au nouveau calendrier semestriel de mises à jour décidé par l’éditeur.
Voici les projets dont les technologies pourraient se retrouver dans de futures versions de Java SE :
- Le Projet Amber a servi d’incubateur pour implémenter des fonctions de langage mineures destinées à améliorer la productivité. Notamment : une fonction d’inférence du type de variable locale afin d’alléger le cérémonial associé à l'écriture de code Java ; des « enums » Java plus explicites, pour améliorer l'expressivité de la construction des énumérations en autorisant des variables de type dans les énumérations ainsi qu’une vérification de type plus précise pour les constantes d'énumération ; des « lambda leftovers » pour accroître la convivialité des expressions lambda et des références de méthode, les « method references ».
- Le Projet Panama : il permet d’interconnecter JVM et code natif, impliquant une fonction d’appel native depuis la JVM et un accès natif aux données depuis la JVM.
- Le Projet Valhalla : ce projet d'incubateur a été initié en 2014 pour préparer les évolutions de Java. Parmi les fonctionnalités et les améliorations explorées par le projet on peut citer les valeurs des types (Value Types) qui doivent permettre une optimisation de la représentation mémoire des types tout en maintenant les mêmes performances et la spécialisation des génériques (Generic Specialization). Comme l’explique encore l’éminent expert Arsene Newman, « le projet a pour vocation de définir une sémantique claire au niveau de la machine virtuelle pour permettre un support égal pour le langage Java et les autres langages recourant à la JVM ».
- Project Loom: ce projet doit permettre de réduire la complexité de l’écriture d’applications concurrentes. Il plaide en faveur de l’ajout d’implémentations de thread alternatives en mode utilisateur, de suites délimitées et autres constructions impliquant une manipulation de la pile d'appel. L'objectif principal du projet est de permettre une implémentation alternative des threads qui serait gérée par des ordonnanceurs de threads écrits en Java. Cela permettrait de préserver le modèle de programmation de threads Java ordinaires, tout en améliorant les performances et en réduisant l'empreinte.
Grâce à ce calendrier semestriel, le report d’une fonctionnalité ne pourra dépasser six mois. Mais pour l’instant, Oracle n’a fixé aucune date pour les intégrer dans les versions à venir de Java.


