En ce moment, nous parlons beaucoup du futur de Java. A l’origine de ce petit séisme communautaire, il y a le rachat de Sun par Oracle il y a un an. Depuis la mi-2010, Oracle montre plutôt des signes encourageants, qu’il faut cependant parfois décrypter, car la communication vers la communauté Java n’est pas encore parfaite.
Je suis tombé sur le communiqué d’Oracle du 21 septembre 2010. Celui-ci donne une liste précise des souhaits et des décisions d’Oracle. En ligne de mire de la plateforme Java (Java SE) : optimisation pour de nouvelles applications, support étendu des langages de script, amélioration de la productivité et réduction des coûts d’exploitation.
Le premier élément intéressant est le choix d’abandonner Java FX Java FX Script ! Clairement, Java sur le Desktop a du plomb dans l’aile. Dommage, mais avec l’arrivée du Web comme plateforme client, via le HTML5, c’est dans la logique des choses.
Oracle précise qu’une version d’OpenJDK est prévue pour 2011 et une autre pour 2012. Ces deux versions serviront de base pour la sortie d’un Oracle Java Development Kit (JDK) 7 et 8, vraisemblablement en 2012 donc.
Oracle assure par ailleurs qu’il continuera à aider le projet OpenJDK et à reverser à la communauté le fruit de ses efforts. Le modèle de licence de l’OpenJDK reste le même.
Ce qui change par contre, ce sera la fusion des produits HotSpot, l’ex Java Virtual Machine de Sun et de JRockit, la JVM d’Oracle. Pour avoir travaillé avec les deux, elles ont chacune des avantages et des inconvénients. Ce qui sera bénéfique je pense, c’est la fusion d’équipes de développement de haut niveau, chez Sun et chez Oracle.
Du côté client, Oracle JDK et JRE seront librement téléchargeables comme c’est le cas aujourd’hui, sans changement de license. Cela infirme la rumeur d’une version payante de la JVM, évoqué par « The Register » ces derniers jours. Quand on lit que le journaliste s’est appuyé sur des tweets pour écrire son article… Bref passons.
Les nouvelles fonctionnalités du JDK 7 et 8
Bien qu’il soit encore difficile de préciser exactement le contenu des futures versions de Java, Oracle précise quelques points pour chacune des versions :
Fonctions JDK7 envisagées:
– InvokeDynamic byte code and supporting features for dynamic languages
– Fork/Join Framework and related concurrency and collections API enhancements for improved multi-threaded Java code
– Small Language Enhancements (most of “Project Coin”) for higher developer productivity and cleaner, more concise Java code
– Session Description Protocol (SDP) and Stream Control Transport Protocol (SCTP) support
– New I/O APIs – A flexible filesystem API, and asynchronous I/O
– Support for updated standards – Unicode, localization, security, cryptography, XML and JDBC
– JVM performance improvements
Propositions pour le JDK 8 :
– Lambda expressions (”closures”) for higher developer productivity and better leveraging of multi-core CPUs
– Small language enhancements (Remaining parts of “Project Coin”)
– A Java-native module system (“Project Jigsaw”) to simplify the construction, packaging, and deployment of applications
-JVM start-up time and ergonomics improvements
La liste complète et à jour se trouve sur le site de l’OpenJDK
Faut-il forker Java ?
Cette idée est assez irréaliste. Il faut de l’argent, il faut des sponsors, il faudrait supporter une grande disparité de plateformes, il faudrait 10 ans pour que cela marche, il faut le support de toute la communauté… et surtout il faut une sacré belle paire… d’avocats. Nous ne sommes pas dans un monde de Bisounours. Plutôt que de combattre un ennemi imaginaire, plutôt que de verser de l’acide sur Java sans trop connaître ce langage, je vous encourage à continuer à vous amuser, à coder et à profiter de cette magnifique plateforme.
0 no like
Je suis malheureusement d’accord avec toi. Il serait illusoire de se battre avec des avocats contre l’ami Larry. Oracle n’est pas le guignol SCO. Cependant il nous faut rester vigilant et je pense que de trop nombreux acteurs sont impliqués/ont investi dans cette techno pour les laisser faire ce qu’ils veulent.
Personnellement du moment qu’on a une JVM propre maintenu et qui dépote, cela ne m’empêchera pas de dormir qu’ils vendent l’ex JRockit pour s’acheter un nouveau trimaran.
Nicolas
À propos de JavaFX, je n’ai pas compris qu’Oracle l’abandonnait, bien au contraire. Il abandonne javaFX *script* pour encore mieux intégré JavaFx comme librairie java. Du coup, il sera possible de faire de véritables applis desktop riches. Enfin… en théorie
Oracle n’a pas annoncé lanfin de JavaFX, que du contraire ! Lors de la dernière conference JavaOne, Oracle a annoncé qu’ils augmentent leurs investissements sur JavaFX (par rapport aux investissements de Sun). Ils vont abandonner le langage de script pour le remplac par le langage Java, ce qui rendra JavaFX plus accessible. Ils vont aussi introduire la notion de rendu sur HTML5. Les développeurs pourront donc choisir si le code JavaFX produira du Java ou de l’HTML5.
Les prochaines releases sont prévues pour 2011 et 2012.
Vous trouverez facilement les liens pour confirmer propos.
Merci de corriger votre post
C’est JavaFX *Script* qui est abandonné, pas JavaFX (qui propose justement une roadmap avec de l’HTML 5)…
on, ok la prochaine fois je fais un refresh avant de poster (et Nicolas vérifie ses infos) !
@AlexisMP : article corrigé, en plus je savais que c’était Java FX Script ! Désolé 🙂
D’abord, c’est bien dommage que SUN n’ait pas sorti JWebPane le plus rapidement possible (JWebPane dont on attend tjrs la sortie, soit dit en passant…), plutôt que d’investir dans JavaFX dont on ne savait pas trop quoi penser. Pour moi, SUN a loupé ici l’occasion de mixer la force de Java avec celle de HTML ; cela aurait pu dépoter.
D’autre part, à lire les commentaires, la prochaine version de JavaFX produira du code Java ou de l’HTML5 ; c’est particulièrement intéressant: là, pour le coup, cela va bien produire une sorte de mix Java/HTML, ce qui me rappelle… GWT ! En fait, avec cette évolution, JavaFX va se retrouver en concurrence bcp plus directe avec GWT.
Bref, la non-sortie de JWebPane, le fait que JavaFX ait eu initialement pour cible la génération d’applets Java, tout cela indique que les personnes ayant en charge la destinée de Java ont eu longtemps le désir de se tenir éloigné de HTML (sic). C’est bien dommage, car du coup, ils ont choisi le mauvais cheval, ou plutôt le cheval qui avançait bcp plus lentement et qui avait le moins de succès.
La roadmap de JavaFX a l’air de faire part de la volonté de redresser la barre, mais GWT est déjà dans la place et au fond, ce que Google a livré, c’est une sorte de Java Browser Edition: http://www.jroller.com/dmdevito/entry/google_has_released_a_kind
C’est marrant, tout le monde a le nez dans le guidon et voit surtout les améliorations à venir pour Java.
Mais si le futur de Java c’était le déclin? Il faudra bien que ça arrive un jour. Je pense qu’on vit en ce moment l’apogée de Java. Certes cela peut durer encore quelques années, mais on arrive à un point ou Java ne semble avoir que du terrain à perdre sur ses concurrents.
En tout cas, pour les moins de 50 ans, Java ne nous traînera certainement pas jusqu’à la retraite (surtout que …) et il est peut-être temps de regarder les alternatives et les languages émergents.
Scala ou Clojure semblent pouvoir apporter un gain de productivité intéressant, avec l’immense avantage d’être compatible avec Java pour une migration en douceur. Ca ne peut pas laisser l’industrie indifférente très longtemps.
Accord entre Apple et Oracle pour les prochaines distributions de Java :
http://www.finanznachrichten.de/18537066
Comme quoi il faut être patient 😉