Le comité exécutif du JCP (Java Community Process), qui s’était prononcé contre la publication de Java 9, vient de changer d’avis. A l’unanimité de ses 24 membres, le projet est adopté et ses principaux détracteurs, IBM et Red Hat, sont rentrés dans le rang.

Le JCP vient de montrer une curieuse facette de la démocratie. Alors que ses principaux membres n’avaient pas eu de mots assez durs pour qualifier les insuffisances du nouveau système de modularisation de Java 9, autrement dit de Jigsaw, tels des moutons de Panurge (Rabelais) et à quelques jours d’intervalles, ils viennent de se contredire en votant « Pour » le projet. Qui est donc adopté en l’état et sera officiellement présenté le 21 septembre prochain.

Ce qui ne laisse pas de nous étonner.

Car même pour des raisons de non blocage du projet et de discipline, ce qui peut se justifier, on ne comprend pas pourquoi les anti-Java 9 ont été aussi virulents, si c’est pour capituler en rase campagne, quelques jours après.

Et de 2 choses l’une. Ou bien la modularité du JDK 9 et de JSE pose un vrai problème, non pas pour les nouveaux développements, mais pour les anciennes applications qui exploitent les classes internes du langage, qui seront accessibles désormais que par le biais de modules et il faudra les réécrire, ou bien ce n’est pas le cas.

Personne ne met en cause les motivations de Red Hat, IBM, Hazelcast, Twitter et de la fondation Eclipse, qui ont tous voté contre, il y a quelques semaines, mais bien le fait que l’on veut nous faire croire que tout va s’arranger d’un coup de baguette magique et qu’il vaut mieux regarder l’avenir avec confiance. Il y a un pas que nous ne franchirons pas.

On appelle ça la méthode Couhé, du nom de ce fameux docteur Couhé, pour qui un malade était guéri à partir du moment où il le croyait. Même s’il était en phase terminale et qu’il ne lui restait que quelques jours à vivre…

Les problèmes vont venir

LeMarson fait partie des sceptiques. Car Java, avec ou sans Jigsaw, ce n’est pas pareil.

Il aurait sans doute été plus judicieux, sinon de reconnaître comme l’a fait la communauté Python que ses versions 2 et 3 du langage n’étaient pas compatibles, pour le moins de ne pas minimiser les difficultés.

Car des difficultés, il y en aura. La modularité ayant un prix à payer, ce dont s’apercevront les membres de la communauté Java. Qui vont devoir affronter une véritable migration.

En fait, le JDK Java a évolué de manière anarchique et incontrôlée. Les dépendances entre classes se sont multipliées et aujourd’hui les JDK et JSE sont devenus des plats de spaghettis. Si vous tirez une pâte, c’est tout le plat qui vient avec…

Ce que vient de faire le comité exécutif Java, c’est de nous fournir une grosse fourchette pour que nous puissions tout attraper d’un seul coup.

Gare à l’indigestion.