Oracle repousse Java 8 pour se concentrer sur la sécurité

Oracle repousse Java 8 pour se concentrer sur la sécurité

Un mal nécessaire

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

19/04/2013 4 minutes
27

Oracle repousse Java 8 pour se concentrer sur la sécurité

Alors qu’Oracle a publié cette semaine un lot conséquent de mises à jour de sécurité pour ses produits, et notamment pour Java, la firme annonce que la version 8 de ce dernier aura du retard. Raison invoquée : une focalisation sur la sécurité qui oblige les développeurs à changer de priorités.

oracle java

Une prise de conscience qui n'est pas neuve 

C’est une annonce qui était presque prévisible mais qui reste cruciale pour l’avenir de la technologie Java. Mark Reinhold, architecte logiciel en chef du Java Platform Group chez Oracle, prend lui-même la plume pour expliquer la situation. Elle se résume d’ailleurs assez facilement : Oracle reconnaît que les regards sont tournés vers la sécurité de Java et que des efforts sont nécessaires.

 

Ces efforts, la firme ne va pas les commencer : ils ont déjà débuté depuis plusieurs mois. Cette amélioration prend plusieurs formes mais concerne essentiellement les méthodes et outils de développement. De fait, il s’agit surtout du nouveau code, alors que c’est bien l’ancien qui concentre les problèmes. L’effort d’ingénierie logicielle à fournir est donc plus que conséquent, ce qui pose un évident souci de ressources humaines.

Retard de Java 8, un mal nécessaire 

Parallèlement, Oracle travaille sur la version 8 de Java, qui était jusqu’ici prévue pour septembre de cette année. La nouveauté principale de cette mouture majeure est le projet Lambda qui doit apporter à Java des fonctions anonymes. À partir de là, plusieurs solutions s’offraient à l’éditeur. Il pouvait tout d’abord laisser tomber le projet Lambda pour cette version et le repousser à la suivante. Cependant, Java 8 n’aurait plus vraiment rien eu d’une mouture majeure sans cette nouveauté. Oracle pouvait également garder Lambda mais réduire le temps consacré aux procédures de tests. Mais, comme l’indique Mark Reinhold, « si nous sacrifions la qualité pour respecter les délais, alors nous allons sûrement répéter les erreurs vues et revues du passé ».

 

La solution retenue est sans aucun doute pérenne mais également vecteur de retard : la sortie de Java 8 est repoussée de plusieurs mois afin que les ingénieurs se concentrent sur la qualité du code. Dans la pratique, la date de lancement glisse de septembre au premier trimestre 2014, sans plus de précisions pour l’instant.

 

Mark Reinhold insiste en expliquant que le temps nécessaire ne sera pas consacré à l’ajout de grosses nouveautés mais bien à la révision de l’existant : « Nous allons certainement ajouter quelques fonctionnalités supplémentaires, plus spécifiquement dans les zones dédiées à la sécurité. Cependant, nous utiliserons en général le temps supplémentaire pour stabiliser, polir et affiner les fonctionnalités que nous avons déjà […] ».

L'écho de Windows XP 

Plusieurs éléments intéressants sont à noter sur cette annonce. On remarquera ainsi qu’Oracle travers une période ressemblant très fortement à ce qu’a vécu Microsoft à l’époque du Service Pack 2 de Windows XP. Les ressources nécessaires avaient été alors retirées du projet Longhorn (Vista), provoquant alors d’importants délais dans les développements.

 

D’autre part, les réactions des développeurs à l’annonce sont dans les grandes lignes positives. On trouve cependant quelques remarques intéressantes. Certains estiment ainsi qu’il est dommage que Java 8 prenne du retard uniquement à cause du versant client de la technologie. Certains vont plus loin et estiment qu’Oracle devrait abandonner les Applets et Webstart, des composants trop souvent impliqués dans les problèmes de technologie. Beaucoup les jugent d’ailleurs dépassées, l’avenir n’appartenant plus aux plugins dans les navigateurs. 

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Une prise de conscience qui n'est pas neuve 

next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

Fermer

Commentaires (27)


S’ils pouvaient aussi se concentrer sur les gains de performance !



Java, même s’il ne cesse de s’améliorer, a toujours été un gouffre de ce côté !


Bonne nouvelle. Ca repousse d’autant l’abandon du support de Java 6.








luxian a écrit :



S’ils pouvaient aussi se concentrer sur les gains de performance !



Java, même s’il ne cesse de s’améliorer, a toujours été un gouffre de ce côté !





T’aurai parlé d’empreinte mémoire, j’aurai pu être d’accord, mais niveau exécution, c’est faux. Ou alors, sort les benchs.



Et pendant ce temps, C# et le CLR… <img data-src=" />








hadoken a écrit :



Et pendant ce temps, C# et le CLR… <img data-src=" />





Oui, une excellente technologie (du moins la base car je suis moins satisfait des technos à base de XAML, intéressantes mais immatures). Très supérieure à ce qu’offrent les C++ et JS pour la plupart des projets. Malheureusement, sorti de Windows, ça perd beaucoup de son intérêt et puisque la plateforme Windows a un avenir plutôt compromis sur le long terme (ce n’est pas un troll, c’est mon humble avis et je le déplore)…









HarmattanBlow a écrit :



Oui, une excellente technologie (du moins la base car je suis moins satisfait des technos à base de XAML, intéressantes mais immatures). Très supérieure à ce qu’offrent les C++ et JS pour la plupart des projets. Malheureusement, sorti de Windows, ça perd beaucoup de son intérêt et puisque la plateforme Windows a un avenir plutôt compromis sur le long terme (ce n’est pas un troll, c’est mon humble avis et je le déplore)…





Personnellement je ne suis pas de cet avis sur l’avenir de Windows :)



Après d’un point de vue purement objectif, il y a Mono et tout le travail de Xamarin pour targeter aussi Android, iPhone, MAC :http://xamarin.com/



Perso, il y longtemps que j’ai désinstallé ce truc !








luxian a écrit :



S’ils pouvaient aussi se concentrer sur les gains de performance !



Java, même s’il ne cesse de s’améliorer, a toujours été un gouffre de ce côté !







<img data-src=" />



Java a globalement de bonnes perfs. Pour moi, le plus gros point noir du JDK niveau perf c’est Swing, le reste, c’est assez correct.







Choub a écrit :



T’aurai parlé d’empreinte mémoire, j’aurai pu être d’accord, mais niveau exécution, c’est faux. Ou alors, sort les benchs.







+1





Certains vont plus loin et estiment qu’Oracle devrait abandonner les Applets et Webstart, des composants trop souvent impliqués dans les problèmes de technologie. Beaucoup les jugent d’ailleurs dépassées, l’avenir n’appartenant plus aux plugins dans les navigateurs.







  • 1 milliard !!!


sinon java ou bien ?



<img data-src=" />








killer63 a écrit :



sinon java ou bien ?



<img data-src=" />







Prends plutôt trois quatre javamines toi ( autant d’affilé que les pubs ) <img data-src=" />









Choub a écrit :



T’aurai parlé d’empreinte mémoire, j’aurai pu être d’accord, mais niveau exécution, c’est faux. Ou alors, sort les benchs.







Ben juste mon ressenti quand je clique et que ça fait pas un “pouf” immédiat quoi …









hadoken a écrit :



Personnellement je ne suis pas de cet avis sur l’avenir de Windows :)





Dans la mesure où Windows Phone est anecdotique et ne devrait pas décoller (tout comme W8 sur tablettes sans doute), je vois mal comment les entreprises pourraient rester sur des solutions purement Windows. Et sans l’exclusivité de son écosystème, Windows devient soudain beaucoup mois bien loti en comparaison de Linux et OSX.



Dans le meilleur des cas c’est au moins l’ère du Windows-only qui s’est achevée, au profit des technos webs et des technos natives multiplateformes. Ce qui réduit l’attrait de dotnet, malheureusement.



Quant à Xamarin, j’avoue n’avoir jamais testé leurs solutions pour Android et OSX. Mais d’après ce que j’en sais ils ont une API unique à chaque plateforme, ce qui fait que tu ne peux réutiliser que les couches inférieures. Or, pour une appli mobile, la couche UI représente 50% à 90% du boulot. Des solutions comme Qt Quick ou du JS+html embarqué, par exemple, me semblent mieux positionnées.



Je vois davantage les solutions de Xamarin comme utiles pour porter des applis existantes. Ce n’est pas un marché négligeable mais enfin il n’y avait de toute façon guère d’applis LOB développées en dotnet et adaptables même de loin au mobile.









127.0.0.1 a écrit :





  • 1 milliard !!!







    C’est vrai que c’est anachronique. Quand Microsoft a annoncé que Silverlight 5 serait la dernière version, personne n’a pleuré; et je pense qu’il y a moins de sites avec des applets Java aujourd’hui que de sites Silverlight. C’est dire si ça n’a aucune importance…









AlexRNL a écrit :



Java a globalement de bonnes perfs. Pour moi, le plus gros point noir du JDK niveau perf c’est Swing, le reste, c’est assez correct.







Seulement un problème de perf le Swing ?

Ah pour moi c’est plutôt infâme en terme de logique de structure.



Plus difficile à structurer qu’un dérivé de XML.

Avec des déclaration de composants et des attributions qui partent dans tout les sens.



Ou alors c’est que je le prend pas par le bon bout.









Sayhello a écrit :



Seulement un problème de perf le Swing ?

Ah pour moi c’est plutôt infâme en terme de logique de structure.



Plus difficile à structurer qu’un dérivé de XML.

Avec des déclaration de composants et des attributions qui partent dans tout les sens.



Ou alors c’est que je le prend pas par le bon bout.







Je parlais des perfs. L’architecture de Swing, qui est discutable sur pas mal de points (layout management, gestion des couleurs, etc.) c’est une autre histoire.



Ça me semble être plutôt une erreur sur le plan stratégique. Les autres langages sont de plus en plus attrayants, et en particulier la vague fonctionnelle déferle en ce moment. Si Java la rate en repoussant trop Project Lambda ça risque bien de précipiter son déclin.



La vraie source des déboires avec la sécurité sont les applets. Bien que cette technologie soit dépassée et peu utilisée elle est catastrophique en terme d’image. Le mieux serait de les faire disparaître. La compatibilité en arrière pour l’éternité ça finit par poser des problèmes, parfois c’est sain de couper les branches mortes.








luxian a écrit :



S’ils pouvaient aussi se concentrer sur les gains de performance !



Java, même s’il ne cesse de s’améliorer, a toujours été un gouffre de ce côté !









Si ça c’est pas de la méconnaissance….









Resman a écrit :



Les autres langages sont de plus en plus attrayants, et en particulier la vague fonctionnelle déferle en ce moment.





Je n’ai rien vu d’une telle vague. A quoi songes-tu s’il te plaît ? Quels langages et quelles innovations ?









daroou a écrit :



Si ça c’est pas de la méconnaissance….







C’est du ressenti utilisateur.



Java2 me faisait chier pendant mes TP en fac.

Java a toujours ramé à mes yeux.



Et java rame toujours plus sur PC qu’un code compilé exprès.



Maintenant, pour tout ce qui est embarqué … je veux bien retenir ce que j’ai dit. Mais sur PC … non. Mon ressenti utilisateur pense toujours que ça rame quand j’ai affaire à une appli java.



Moi aussi je repousse Java 8. Et le 7 et le 6 aussi <img data-src=" />








luxian a écrit :



Ben juste mon ressenti quand je clique et que ça fait pas un “pouf” immédiat quoi …





Le ressenti est du au fait que la JVM n’ est pas modulaire.

Elle charge tout pour n’ importe quel petit programme.

Ensuite, il y a un court temps pour que le programme chauffe.

Apres cela, pour la grande majorite des utilisations, les perfs sont similaires a du natif.

La decoupage de la JVM en module est en court depuis des annees, mais je ne sais pas ou cela en est.












hadoken a écrit :



Et pendant ce temps, C# et le CLR… <img data-src=" />







Le problème c’est que ce sont des technos propriétaire issu d’entreprise d”edition de logiciel privateur qui sont exclusive. En gros basé sont éco-système sur ce genre de chose est très dangereux car tu est totalement emprisonner et à la merci de Microsoft qui peut abandonner sa techno du jour au lendemain ou la rendre incompatible avec les futures évolution ce qui t’obligera à investir toujours plus et ad vitam eternam envers cette entreprise.



Et ca c’est dans le meilleur des cas, si il abandonne la techno (Silverlight par exemple) tout ton éco-système est bon pour la poubelle et tu a plus qu’a réinvestir des millier d’heure de dev pour refaire ton appli dans la nouvelle technologie.









NicolasO a écrit :



Le ressenti est du au fait que la JVM n’ est pas modulaire.

Elle charge tout pour n’ importe quel petit programme.

Ensuite, il y a un court temps pour que le programme chauffe.

Apres cela, pour la grande majorite des utilisations, les perfs sont similaires a du natif.

La decoupage de la JVM en module est en court depuis des annees, mais je ne sais pas ou cela en est.







C’est bien ce que je dis : clic et pas pouf ! On fait clic et il faut que ça se mette à réveiller toute l’administration française pour enfin afficher un formulaire.



Ensuite, que ce soit la JVM, ou je ne sais quoi d’autre qui en soit la cause, je m’en moque : ça rame au démarrage.

La réactivité compte énormément dans le ressenti de l’utilisateur qui veut avoir tout et tout de suite.



Pourquoi est-ce que les SSD sont jugés “ meilleurs ” … la latence est ridicule en regard des disques durs, et le débit sans comparaison.

Pourtant à la base un SSD gère moins bien le chargement de plusieurs fichiers en simultané … et il dure moins longtemps qu’un disque dur pour une capacité de stockage sans comparaison en regard du prix ! Le disque dur est encore meilleur ……. oui, mais ça rame !









coolspot a écrit :



Le problème c’est que ce sont des technos propriétaire issu d’entreprise d”edition de logiciel privateur qui sont exclusive. En gros basé sont éco-système sur ce genre de chose est très dangereux car tu est totalement emprisonner et à la merci de Microsoft qui peut abandonner sa techno du jour au lendemain ou la rendre incompatible avec les futures évolution ce qui t’obligera à investir toujours plus et ad vitam eternam envers cette entreprise.



Et ca c’est dans le meilleur des cas, si il abandonne la techno (Silverlight par exemple) tout ton éco-système est bon pour la poubelle et tu a plus qu’a réinvestir des millier d’heure de dev pour refaire ton appli dans la nouvelle technologie.





oui et non. Si C# et le CLR ont été développé par Microsoft, ce sont aussi deux choses qui ont été standardisées dans une certaine mesure, et dont des implémentations libres existent. Par exemple, le projet Mono est une implémentation Open Source du CLR, ce qui permet de compiler du code C# (le langage n’étant pas propriétaire) pour du Linux, Mac, Android….etc en même temps que pour du Windows.



Après il y a l’écosystème autour de C#/.Net. Certaines technos sont complètement propriétaires et liées à Microsoft (WPF, Silverlight notamment), d’autres sont rendues open-source par Microsoft (par exemple toute la stack ASP.Net MVC, avec laquelle est développé PC inpact) et peuvent tourner sur d’autres choses que du Windows.



Pour finir sur Silverlight, le produit n’est pas du tout abandonné. Premièrement il y a un support de 10 ans de la version 5 (donc de quoi voir venir), deuxièmement les compétences liées à Silverlight (C# + XAML) peuvent être réutilisées à 95% pour faire de l’appli Windows Phone ou Windows 8 (store). Et dernièrement, le produit peut tout à faire encore évoluer, Microsoft n’ayant rien annoncé.









HarmattanBlow a écrit :



Je n’ai rien vu d’une telle vague. A quoi songes-tu s’il te plaît ? Quels langages et quelles innovations ?





Entre autre, Clojure, Erlang,OCaml,Haskell, F# mais surtout Scala sur la JVM qui apporte une dose de fraicheur pour les développeurs Java…



Sans parler des bouts de fonctionnel atterissant dans les languages impératifs (lambda, objets immutable, LINQ,…)









cosmocat a écrit :



Entre autre, Clojure, Erlang,OCaml,Haskell, F# mais surtout Scala sur la JVM qui apporte une dose de fraicheur pour les développeurs Java…



Sans parler des bouts de fonctionnel atterissant dans les languages impératifs (lambda, objets immutable, LINQ,…)





Ok, je te remercie de ta réponse. Comme tout ça a déjà quelques années (Erlang, Haskell et OCaml ont bien vingt ans, les autres doivent avoir cinq à dix ans) je n’y avais pas songé.

<img data-src=" />



Mais c’est vrai que ces dernières années certains paradigmes sont revenus sur le devant de la scène avec les besoins de parallélisation accrus.