IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

1.3KPARTAGES

16  0 
Quelle version de Java utilisez-vous ?
Java 8
62 %
Java 11
18 %
Java 6
10 %
Java 7
5 %
Java 10
2 %
Java 9
1 %
Autre (à préciser dans les commentaires)
1 %
Pas d'avis
0 %
Voter 164 votants
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-nous-la !

Avatar de barmic
Membre actif https://www.developpez.com
Le 14/03/2019 à 14:02
Java 11

Qu'est-ce qui vous empêche de migrer vers une version plus récente ?
La version suivante n'est pas encore sortie ?

Sur un projet qui était en java 8 l'an dernier (et qui fait 90k LOC). Le passage au post java 8 est loin d'être aussi compliqué que ce que les gens pensent. Peu de choses sont supprimées et on trouve facilement comment les remplacer (et c'est pas particulièrement farfelu comme changement).
1  0 
Avatar de Pmagerma
Candidat au Club https://www.developpez.com
Le 14/03/2019 à 22:38
Le déploiement requiert l'installation d'une jre. Oracle, depuis la version 9 ne fournit plus qu'un jdk. Je développe sous eclipse avec un jdk 11, mais en compatibilité 8 et je déploie en jre 8.
Pas de raison de forcer l'utilisateur final à accepter une licence de développement...
1  0 
Avatar de Mickael_Istria
Membre émérite https://www.developpez.com
Le 15/03/2019 à 9:14
Citation Envoyé par Pmagerma Voir le message
Le déploiement requiert l'installation d'une jre. Oracle, depuis la version 9 ne fournit plus qu'un jdk. Je développe sous eclipse avec un jdk 11, mais en compatibilité 8 et je déploie en jre 8.
Pas de raison de forcer l'utilisateur final à accepter une licence de développement...
D'autant plus qu'un Eclipse IDE recent avec Java 11 (genre OpenJDK), ca va vraiment plus vite qu'avec Java 8. Donc autant mettre Java 11 comme outil de *dev* pour que Eclipse IDE, Maven et tutti-quanti soient plus rapides, et n'utiliser que Java 8 en tant que *cible* si le projet le requiets. Changer la version cible d'un projet, c'est 4 clics dans Eclipse IDE, et une ligne dans un pom.xml pour Maven (d'ailleurs, en changeant le pom et en faisant un "Update Maven Project" depuis Eclipse IDE), on a les 2 pour une ligne de XML et un clic. C'est pas cher et ca marche bien!
1  0 
Avatar de JCD_31
Membre averti 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.
0  0 
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.
0  0 
Avatar de darklinux
Membre extrêmement actif https://www.developpez.com
Le 14/03/2019 à 9:20
Java 8 ...
0  0 
Avatar de yildiz-online
Expert confirmé https://www.developpez.com
Le 14/03/2019 à 9:39
12 (RC)
0  0 
Avatar de FraisDesRiques
Membre actif 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...
0  0 
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.
0  0 
Avatar de Mickael Baron
Rédacteur 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
0  0