Quelle version de Java utilisez-vous ?
Qu'est-ce qui vous empêche de migrer vers une version plus récente ?

Le , par Michael Guilloux

265PARTAGES

16  0 
Quelle version de Java utilisez-vous ?
Après Java 8, Oracle a pris un nouveau virage, en particulier au niveau des fonctionnalités introduites dans les dernières versions. On note par exemple l'arrivée d'un système de modules, l'inférence du type des variables locales, un garbage collector amélioré, l'outil en ligne de commande JShell permettant d'exécuter des instructions Java directement, entre autres. Malgré tout cela, le constat est que beaucoup de développeurs sont encore accrochés à Java 8. C'est ce qu'indique un sondage réalisé sur Twitter par Trisha Gee, ingénieure et évangéliste Java bien connue dans la communauté et travaillant chez JetBrains.

Les résultats du sondage sont sans appel. Sur près de 1400 répondants, 78 % disent utiliser principalement Java 8, contre 18 % pour Java 11 et 2 % respectivement pour Java 9 et Java 10.


L'une des principales raisons est que Java 9 casse tout en termes de compatibilité. Java 9 a introduit des modifications majeures, notamment une restructuration interne, les modules et la suppression de certaines API dites peu utilisées. Java 11, dans la même lancée, a vu également la suppression de Java FX ainsi que des modules CORBA et Java JEE. Ces modifications cassent le code des applications existantes et même les développeurs qui avaient le désir de passer à une version plus récente (le plus souvent Java 11) ont rencontré des problèmes de dépendance, notamment avec les bibliothèques qui ne prennent pas encore en charge les dernières versions de Java.

L'autre problème est que Java évolue maintenant plus rapidement qu'avant. Rappelons en effet qu'Oracle a adopté un nouveau cycle de développement où une nouvelle version de Java est livrée tous les six mois, avec une version LTS qui atterrit après deux versions non-LTS successives. C'est ainsi qu'après Java 8, Java 11 a été la version suivante à bénéficier du statut LTS. Les versions intermédiaires (Java 9 et 10) n'ont bénéficié que d'un support de six mois, après lequel elles n'ont plus eu droit à des mises à jour de sécurité ; ce qui explique que très peu utilisent ces versions. Mais il semble également que les changements de licence annoncés par Oracle créent une confusion dans l'esprit des utilisateurs qui dès lors hésitent à migrer vers une nouvelle version avant de comprendre clairement ce que cela implique.

Ce sont tous ces problèmes qui font que les développeurs restent encore accrochés à Java 8, et Oracle en est bien conscient. Mais Ron Pressler d'Oracle a expliqué à la conférence QCon London qui s'est tenue du 4 au 8 mars que cela était nécessaire : « Java a environ 20 ans, et il sera probablement gros et populaire dans 20 ans encore. Nous devons penser pour les 20 prochaines années. La façon dont le JDK était structuré avant Java 9 était tout simplement non maintenable. Nous ne pourrions pas garder Java compétitif si nous n'avions pas fait ce changement. C'était une nécessité absolue », dit-il.

Il regrette aussi que les gens essaient de présenter Java comme une plateforme fragmentée. « Il n'y a aucune raison fondamentale pour que votre code Java ne s'exécute pas sur Java 9+. Vous devrez peut-être modifier l'accès aux anciennes API, entre autres. Mais ce n'est pas un langage différent », a déclaré Ron Pressler, sans toutefois nier que le fait d'attribuer à Java un nouveau numéro de version tous les six mois pourrait donner une fausse impression. « L’une des choses les plus déroutantes que nous ayons faites est de donner des numéros de version aux itérations qui sortent tous les six mois. En passant de Java 9 à Java 10, vous pensez qu’il s’agit d’une nouvelle version majeure de Java. Ce n’est pas le cas. Java 10 n'est pas une version majeure de Java. C’est une version mineure. La dernière version majeure de Java était Java 9. Il n’y en aura plus dans un avenir proche », dit-il.

Sources : Twitter, QCon London

Et vous ?

Quelle version de Java utilisez-vous ?
Qu'est-ce qui vous empêche de migrer vers une version plus récente ?

Voir aussi :

Java : une version à accès anticipé du JDK 13 est publiée, Oracle veut unifier les deux méthodes de la classe GraphicsEnvironment
Java : Oracle publie la première release candidate du JDK 12 avec toutes les fonctionnalités majeures annoncées sauf les littéraux de chaînes bruts
Quelles implémentations JPA (Java Persistence API) utilisez-vous et pourquoi ? Partagez votre expérience
Java 11 est-il plus rapide que Java 8 ? Oui selon un test réalisé avec OptaPlanner, un solveur de contraintes
Java 11 : migrer ou changer de langage, qu'envisagez-vous de faire suite aux derniers changements annoncés par Oracle ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de JCD_31
Membre actif https://www.developpez.com
Le 14/03/2019 à 8:52
Quelle version de Java utilisez-vous ?
Java 6

Qu'est-ce qui vous empêche de migrer vers une version plus récente ?
L'incompatibilité avec le framework antique maison imposé par le client.
Avatar de rupteur
Membre averti https://www.developpez.com
Le 14/03/2019 à 9:18
Java 6
des dizaines d'applis devenues incompatibles avec la 7. et la décision d'aller sur un autre langage.
Avatar de darklinux
Membre habitué https://www.developpez.com
Le 14/03/2019 à 9:20
Java 8 ...
Avatar de yildiz-online
Membre expert https://www.developpez.com
Le 14/03/2019 à 9:39
12 (RC)
Avatar de FraisDesRiques
Membre habitué https://www.developpez.com
Le 14/03/2019 à 10:03
Java 8, car la plateforme Cloud dans laquelle je déploie ne supporte que cela pour le moment...
Avatar de blarose
Futur Membre du Club https://www.developpez.com
Le 14/03/2019 à 10:07
Java 7.
Le passage à java 8 est à l'étude pour cette année.
Avatar de Mickael Baron
Responsable Java https://www.developpez.com
Le 14/03/2019 à 10:30
Bonjour,

Tous les nouveaux projets se font sur Java 11 voir plus.

Il reste encore un développement Java 8 du à une migration difficile à cause de GWT.

Mickael
Avatar de gallima
Membre régulier https://www.developpez.com
Le 14/03/2019 à 10:40
Migration vers java 10 presque complête; la version 11 supprime les api devenu obsolète en version 9 donc il faut encore quelques semaines pour tout qualifier les dépendances, mais d'un autre coté les améliorations sur les instructions simd font entrevoir des petits gains en performances. Nous devrions être dans les temps pour la version 12.
Avatar de Excellion
Membre averti https://www.developpez.com
Le 14/03/2019 à 13:10
Java 8. La suppression des librairies XML utilisées partout et pour tous les projets rendent les mises à jour vers les nouvelles versions impossible...
Avatar de kaloo811
Membre à l'essai https://www.developpez.com
Le 14/03/2019 à 13:12
Java 8
On vient de finir une migration Java 6 -> Java 8.
On commence à peine à utiliser les fonctionnalités Java 7 et 8.

Je ne suis pas vraiment fan de cette numérotation des versions de Java, je ne trouve pas ça très clair.
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web