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 !

Java 11 : migrer ou changer de langage
Qu'envisagez-vous de faire suite aux derniers changements annoncés par Oracle ?

Le , par gangsoleil

296PARTAGES

19  1 
Bonjour,

Suite au changement radical de la roadmap Java par Oracle, et au passage du support long terme payant, je me demande quels sont les impacts de ces changements, et s'il est préférable de migrer ou bien de changer de langage.

Je m'explique : la question n'est pas le changement de version une fois (même de Java 8 à 11). De même que les entreprises ont dû faire évoluer les versions précédentes de Java, un unique changement de version n'est pas le sujet. En revanche, ici, ce n'est plus un unique changement de version : le support de Java 8 devient payant, et une nouvelle version de Java va sortir tous les 6 mois, à priori avec le support payant de la version N-1 à chaque fois. Ainsi, en mars 2019, Java 12 devrait sortir et le support de Java11 deviendra payant, etc.

Pour les entreprises qui sont en Java8, il y a plusieurs changements majeurs -- Java Web Start, Java FX, les applets, Java EE, CORBA sont enlevés par exemple. Le coût de ces changements technologiques est loin d'être anodin, et on peut craindre que d'autres fonctionnalités soient ainsi enlevées, ou forcées, dans les prochaines versions.

Du coup, je me pose, sérieusement, la question : faut-il faire ces changements, prévoir d'en faire d'autres dans le futur, et caler sa roadmap sur celle de Java -- avec un décalage -- ou bien faut-il envisager de changer de langage ?

Et si l'on veut changer, pour quel langage ?? Attention, ce que je veux dire ici, c'est quel langage pourrait fournir le même genre de choses, c'est-à-dire être complet, avec une partie graphique "simple", etc.

Est-ce que vous avez analysé ce problème ?
Est-ce que vous avez déjà pris des décisions dans un sens ou dans l'autre ?

Merci de vos retours

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

Avatar de Tcharl
Membre averti https://www.developpez.com
Le 02/07/2018 à 23:46
C'est les majors LTS (Java 8, Java 11, puis toutes les 3 versions donc 14, 17, etc. Qui vont faire devenir payantes les lts précédente. Donc pas de souci si tu fais 8, 11,14,17 au moment où elles sortent, tu ne payeras rien, et tu auras eu le temps de prototyper entre temps avec les versions intermédiaires.

Pas de souci donc, ça ne paraît pas si bloquant que ça, faut pas se leurrer, ça embête tout le monde de maintenir des versions 'legacy'. Sinon il y a kotlin ou rust, suivant le contexte
9  0 
Avatar de Pyramidev
Expert confirmé https://www.developpez.com
Le 02/07/2018 à 21:22
Citation Envoyé par ShigruM Voir le message
J'ai migré a 100% vers python3, mon seul regret sur ce langage c'est python2.7 qui fait office de tumeur/boulet sur ce magnifique langage.
Python est riche, mais est réputé pour sa faible vitesse d'exécution, même si on utilise une implémentation plus performante que CPython. Donc migrer de Java vers Python 3 nécessite de ne pas avoir des besoins trop exigeants en performance.
8  0 
Avatar de Mickael_Istria
Membre émérite https://www.developpez.com
Le 03/07/2018 à 13:16
Citation Envoyé par ShigruM Voir le message
Java est devenue un cancer a cause d'oracle et de ces licences.

Moi je suis pas avocat, je suis développeur en informatique.
Justement, evite de dire n'importe quoi si t'es pas au courant des parties legales...
Java reste ouvert et bien ouvert, les implems comme OpenJDK sont du vrai OSS sans contreparties. La licence c'est GPLv2+CE. Seuls le JDK d'Oracle et d'autres JDK specifiques sont commerciaux et sous contraintes d'utilisation; mais c'est bien explique et quoi qu'il en soit, il y a toujours moyen d'utiliser OpenJDK sans probleme. Donc, non Java c'est pas un cancer, et c'est en fait plus ouvert que ca ne l'a jamais ete.

Du coup, la discussion a tourne au grand n'importe quoi. Beaucoup semblent faire l'amalgamme entre Java et Oracle JDK. C'est completement erronne. Java c'est une spec qui est OSS regie par le JCP qui emet des JSR; et tout ca est ouvert et implique de multiples vendeurs. Apres, les implems de Java sont nombreuses (Oracle JDK, OpenJDK -1/2 Oracle + 1/2 IBM en gros-, Zulu...), et vous etes libres de choisir celle que vous voulez. OpenJDK est open-source et n'est en rien affecte par les decisions d'Oracle a propos d'OracleJDK.
7  0 
Avatar de Mickael_Istria
Membre émérite https://www.developpez.com
Le 04/07/2018 à 16:26
Citation Envoyé par Anselme45 Voir le message
Tôt ou tard avec Oracle, tout deviendra payant!
D'ailleurs de nombreux exemples le prouvent, OpenJDK, NetBeans, GlassFish, Java EE, Java Mission Control... Ah non, en fait, c'est le contraire, Oracle a quasiment rendu open-source tout son porte-feuille Java!

Alors, il est, me semble-t-il, inutile de vouloir se faire une formation accélérée de "juriste émérite"... Autant utiliser son temps de développeur à trouver une alternative à Java pour le futur!
Sans chercher a comprendre l'ecosysteme et en ne se basant que sur ses impressions ou ressentiments, on manque de lucidite et on fait des mauvais choix technologiques et strategiques, qui ne sont pas rentables voire dangeureux a long terme.
7  0 
Avatar de GLDavid
Membre expert https://www.developpez.com
Le 03/07/2018 à 7:57
Bonjour

Question intéressante.
Bon, on commence par le commencement: j'ai été programmeur Java professionnel, une publi où je suis coauteur contient une de mes applis en Java, bref, j'ai été un ardent supporter de Java jusqu'à récemment.
Pour moi, la vente de Sun a été un crève-coeur mais ce fut encore plus terrible quand j'ai lu qu'Oracle en était le bénéficiaire. On connait tous sa politique de rachat pour mieux étouffer la concurrence et son agressivité envers le client. Il m'a fallu trouver une alternative. Je bosse dans le domaine pharma, chimie, biologie et Java présentait l'avantage d'avoir un écosystème scientifique particulièrement large. Comment s'y retrouver?

Déjà, JDK peut être trouvé avec OpenJDK. Si tant est que l'on soit constraint d'utiliser Java, OpenJDK est alors incontournable.
Dans le cas contraire, et bien je preconise... C#. Et oui, malgré que j'ai pu vomir à l'époque triomphante de Java sur .NET à ses débuts, force est de constater que .NET es devenu mature et particulièrement riche. Tout ce que fait Java, C# le fait et c'est meme Java qui est à la traîne en terme de fonctionnalités. Tu veux faire du web? MVC.NET est alors apprécié (désolé les amis mais SPring est intéressant, très puissant, mais très complexe à configurer avec tous ses fichiers). Et niveau écosystème, est-ce que je m'y retrouve? Et bien oui, de nombreuses libraries existent maintenant en .NET dans mes domains, facilitant ma transition. Dernier point comme il a été dit auparavant, .NET core permet un développement 'cross-platform' et c'est une force de Java qui se retrouve du côté .NET.

J'entends effectivement que .NET c'est Microsoft, c'est le mal absolu, blablabla... Oui, il y a des alternatives sous forme de langages interprêtés comme python qui est un outsider de choix. Mais pour l'entreprise, .NET est devenu fiable comme choix et est reconnu dans tous les départements IT que j'ai pû accompagner.

Tout dépendra du développement que tu veux faire,

@++
8  2 
Avatar de dad3zero
Membre actif https://www.developpez.com
Le 02/07/2018 à 22:58
Citation Envoyé par gangsoleil Voir le message
Du coup, je me pose, sérieusement, la question : faut-il faire ces changements, prévoir d'en faire d'autres dans le futur, et caler sa roadmap sur celle de Java -- avec un décalage -- ou bien faut-il envisager de changer de langage ?

Et si l'on veut changer, pour quel langage ?? Attention, ce que je veux dire ici, c'est quel langage pourrait fournir le même genre de choses, c'est-à-dire être complet, avec une partie graphique "simple", etc.
Si c'était si simple…

En théorie, ça devrait. Mais dans la réalité, qui migrerait tout un SI Java vers autre chose ?

L'autre point est la compétence disponible. Il me semble aussi qu'un dev Java pourrait migrer vers du C# (désolé pour l'approximation du symbol) vu la proximité des technos, mais vers autre chose, c'est toujours compliqué. Python a le vent en poupe, mais son aspect dynamique fait que l'on perd la moitié des devs en chemin.

Migrer n'est pas si anodin quand on a déjà un existant. Pour tout nouveau projet (dans une infra existante ou son propre business), il faut jauger entre ces points négatifs et la disponibilité des compétences.

Citation Envoyé par ShigruM Voir le message
J'ai migré a 100% vers python3, mon seul regret sur ce langage c'est python2.7 qui fait office de tumeur/boulet sur ce magnifique langage. Une fois python2.7 enterré une bonne fois pour toute le langage devrait davantage sublimé.
Le problème du boulet Python 2 est malheureusement un problème d'utilisateurs. La gouvernance est critiquable (le support de Python 2 n'aurai jamais dû être prolongé), mais il illustre la difficulté de migration. Néanmoins, j'ai plaisir à voir en formation que Python 2 devient très anecdotique.

Citation Envoyé par Pyramidev Voir le message
Python est riche, mais est réputé pour sa faible vitesse d'exécution, même si on utilise une implémentation plus performante que CPython. Donc migrer de Java vers Python 3 nécessite de ne pas avoir des besoins trop exigeants en performance.
"Réputé"…*On parle de Java qui est aussi "réputé" être lent… Je ne suis pas en train de lancer la polémique à quel point c'est vrai, oui le coté interprété fait que Python est mathématiquement "plus lent". Maintenant, Youtube, Pinterest ou Instagram sont suffisamment peu exigeants pour se contenter de Python pour leur front, à chacun de voir son besoin en comparaison…
6  1 
Avatar de dad3zero
Membre actif https://www.developpez.com
Le 02/07/2018 à 23:10
Citation Envoyé par atha2 Voir le message
Il y aussi Jython pour ce qui est d'une implementation perfomante de python, par contre ça utilise les api et le runtime java donc pas sur que ça aide si on cherche à ne pas avoir de problème juridique.
Heu… Alors pour rappel, la dernière release de Jython, c'est 2015. Aucun support Python 3, rapport de perfs en chute libre…

Avant les entreprises mettaient minimum 1 an avant de migré de version (le temps de valider le comportement de la mise à niveau et que les premiers bugs aient été corrigé). Aujourd'hui avec la mouvance agile, Oracle essaie de nous dire, on aura peut-être des bugs mais on vous promet que ils seront rapidement corrigé.
Je ne vois pas du tout le rapport avec la mouvance agile… L'agilité relève de la gestion de projet, pas de l'exploitation qui elle a une considération de qualité de service…
6  1 
Avatar de GordonFreeman
Membre confirmé https://www.developpez.com
Le 03/07/2018 à 13:42
Entre ceci :
Citation Envoyé par Drowan Voir le message
Si je comprends bien, l'idée derrière ça c'est un peu de mettre une amende à ceux qui reste sur des vielles versions mais qui veulent quand même les correctifs.
Ainsi Oracle souhaite forcer l'utilisation de la dernière version et avoir moins besoin de maintenir les vieilles
Et ceci :

Citation Envoyé par Mickael_Istria Voir le message
Justement, evite de dire n'importe quoi si t'es pas au courant des parties legales...
Java reste ouvert et bien ouvert, les implems comme OpenJDK sont du vrai OSS sans contreparties. La licence c'est GPLv2+CE. Seuls le JDK d'Oracle et d'autres JDK specifiques sont commerciaux et sous contraintes d'utilisation; mais c'est bien explique et quoi qu'il en soit, il y a toujours moyen d'utiliser OpenJDK sans probleme. Donc, non Java c'est pas un cancer, et c'est en fait plus ouvert que ca ne l'a jamais ete.

Du coup, la discussion a tourne au grand n'importe quoi. Beaucoup semble faire l'amalgamme entre Java et Oracle JDK. C'est completement erronne. Java c'est une spec qui est OSS regie par le JCP qui emet des JSR; et tout ca est ouvert et implique de multiples vendeurs. Apres, les implems de Java sont nombreuses (Oracle JDK, OpenJDK -1/2 Oracle + 1/2 IBM en gros-, Zulu...), et vous etes libres de choisir celle que vous voulez. OpenJDK est open-source et n'est en rien affecte par les decisions d'Oracle a propos d'OpenJDK.
Je crois que tout est dit.

Donc aucune raison de s'exciter, les alternative à l'implémentation d'Oracle sont là et le sont depuis bien longtemps et vont perdurer bien au delà d'Oracle.

Donc smile and enjoy OpenJDK
5  0 
Avatar de GordonFreeman
Membre confirmé https://www.developpez.com
Le 03/07/2018 à 14:09
Citation Envoyé par gangsoleil Voir le message
Juste pour savoir, vous avez quelle portion de vos clients qui gèrent eux-même leur JDK/JRE qui utilisent OpenJDK et pas celui d'Oracle ? Que ce soit dans mon ancienne entreprise ou bien dans mon entreprise actuelle, il n'y en a aucun. Les seuls à ne pas utiliser le JRE Oracle sont ceux qui ont une architecture matérielle incompatible (à savoir des processeurs IBM powerPC, et dans ce cas ils utilisent le JRE d'IBM, ce qui pose des problèmes).

Donc je pense que non, le passage vers OpenJDK ne va pas se faire non plus dans la minute.
Alors ou je travaillais avant toutes nos applis (dont la plus grosse 2,3 millions de ligne de code) étaient développé avec les JDK Oracle par les dev et étaient déployés dans des serveurs WebSphere et tournaient sur le JDK d'IBM -> aucun soucis!

Le plus gros problème était les évolutions du JDK IBM qui ne suivaient pas forcément les release officielles, Si je ne m'abuse le JDK 6 d'IBM n'est jamais sortis.

Donc forcément tous nos clients utilisaient le JDK d'IBM...

En théorie une implémentation de JDK (validée par le Technology Compatibility Kit (TCK) ) se remplace par une autre. Et ça se vérifie plutôt pas mal (même qu'il peut y avoir parfois quelques petites subtilités/fourberies cachées...)
5  0 
Avatar de Jamatronic
Membre éclairé https://www.developpez.com
Le 04/07/2018 à 16:19
Revenez au bon vieux C, un monde dans lequel personne ne cherchera à vous en*@!###.

Ah non ! C'est vrai, vous ne pourriez plus.
7  2