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.
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.