Oracle a indiqué que la prochaine version – la version 9 – de son langage Java devrait être disponible en septembre 2016.

C’est donc la neuvième mouture de Java qu’Oracle est en train de préparer, un peu plus de 20 ans après la première version du langage développé par Sun. La dernière version (Java 8) est disponible depuis avril 2014 et devrait arriver en fin de vie dans le courant de l’année 2017. Par rapport à l’historique d’évolution du langage, Oracle raccourcit donc les délais de développement pour les ramener à deux ou trois ans contre 5 ou 6 auparavant.

Avec Java 9, Oracle fait un pas de plus vers la modularité qui avait été initié dans la version précédente. Avant, qu’on utilise ou non les différentes fonctionnalités, il fallait tout installer soit un peu plus de 50 Mo de code. Ce qui le rendait difficilement utilisable sur les petits matériels ce qui posait des problèmes de coûts. Si le processeur pouvait éventuellement supporter le code, il fallait parfois acheter de la mémoire additionnelle. D’où des coûts supplémentaires.

 Les différentes étapes vers Java 9
>   2015-12-10 Feature Complete
>   2016-02-04 All Tests Run
>   2016-02-25 Rampdown Start
>   2016-04-21 Zero Bug Bounce
>   2016-06-16 Rampdown Phase 2
>   2016-07-21 Final Release Candidate
>   2016-09-22 General Availability
(Source : Oracle)

6 Java 1« De manière paradoxale, c’est aussi un problème pour les grands systèmes, expliquait Mark Reinhold, Responsable technique de la plate-forme Java dans une présentation faite à l’occasion de de la conférence Eclipse.com 2105. « Dans des environnements supportant des milliers de machines virtuelles ou d’instance Docker, il n’est pas optimal d’intégrer un run time Java dans chaque machine virtuelle ou dans conteneur ». Avec la version Java 8, Oracle proposait des quatre modules baptisé compact allant de 11 Mo pour le premier niveau à Compact 4 pour la version complète.

Cette plus grande modularité a été entreprise par l’intermédiaire du projet Jigsaw lancé en 2012 et organisé en quatre grands sous-projets (voir ci-dessous). Le passage d’une organisation monolithique à une structure modulaire a été difficile, reconnaît Mark Reinhold.

6 Java 2Parmi les autres questions répertoriées avec les versions précédentes, des problèmes de performance et de sécurité. Côté performance, le problème n’est pas tant au niveau des performances de pointe (peak performance), « Java est plutôt meilleur que C ou C++, commente Mark Reinhold, au moment du démarrage ».

6 Java 3Lancé comme un langage orienté objet en 1995 par James Gosling pour les architectures client-serveur, Java a tenu l’épreuve du temps et s’est déployé des deux côtés : client et serveur. L’objectif initial « write once, run everywhere », qui était à l’époque répété en boucle par Sun, était très ambitieux et n’a pu être tenu complètement. Java d’abord été utilisé côté client pour développer des applets, puis s’est déployé côté serveur. Aujourd’hui, Oracle fait état d’un milliard de téléchargements chaque année et de 9 millions de développeurs, ce qui en fait une des plus grandes communautés.

De nouveaux langages sont apparus depuis dont la liste est longue comme un jour sans pain – javascript, PHP, Ruby, C#, F#, Google Go dont certains fonctionnent sur une Java Virtual Machine (Groovy, Scala, Ruby, Clojure, Python… Le langage Java est devenu Open Source en 2006 dans le cadre de l’implémentation libre Open JDK contrôlé par Oracle. A l’époque, des acteurs impliqués dans le mouvement open source ont critiqué cette évolution comme IBM qui aurait préféré que Java soit pris en charge par la fondation Apache. Java est critique pour certaines communautés. C’est le cas de la fondation Eclipse dont les quelque 270 projets utilisent ce langage.

Quelques caractéristiques de Java 9
– l’intégration de « HTTP2 Client » pour le support du HTTP 2.0 et des web sockets ;
– l’ajout de « Process API Updates » qui permet d’améliorer le contrôle, la gestion et l’interaction avec les processus non
Java ;
– l’introduction d’un système d’enregistrement commun pour tous les composants de la JVM ;
– Plus de contrôle au niveau de la compilation ;
– Des améliorations pour le projet Coin, qui avait été introduit avec Java 7 ;
– Le support des modules et bien plus.
(Source : developpez.com)