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

Le , par gangsoleil

219PARTAGES

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 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 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 Jamatronic
Membre confirmé 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 
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 xarkam
Membre confirmé https://www.developpez.com
Le 02/07/2018 à 19:25
Citation Envoyé par Matthieu76 Voir le message
Je ne code plus en Java depuis longtemps mais je pense vraiment que language le plus proche de Java est le C#. Personnellement, je ne vois quasiment aucune différence entre ces 2 langages à s'exception que C# n'est utilisable pratiquement que sous Windows mais bon pour faire des logicielles d'entreprise ou perso cela fait largement l'affaire, je préfère même au java.

Beaucoup de gens se plaignent que le C# est propriétaire Microsoft mais en vrai cela ne change pas grand-chose.
Je ne sais pas comment tu as pu échapper à l'information du reboot de C# en open source.

Le Framework .NET est effectivement intrinsèquement lié à Windows. Pas .NET Core/ASP.NET Core

Si il faut une application avec une GUI, il existe https://github.com/AvaloniaUI/Avalonia , et ainsi on a une application cross-plateformes, codée avec un langage open source (licence MIT).

Personnellement, Java pour du client-serveur peut très aisément être remplacé par du C# (.NET Core/ASP.NET Core).
Pour une GUI, il faudra dès lors voir ce qu'il est possible de faire avec Avalonia.

Quant aux "paquets" tout est géré par NuGet.
6  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 Mrsky
Membre éprouvé https://www.developpez.com
Le 02/07/2018 à 23:01
En alternatives à Java il y a aussi Golang qui est intéressant, sinon un bon vieux C++ qui est bien plus abordable de nos jours que sa réputation ne le laisse entendre.
6  5 
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 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web