Faut-il renverser la dictature de Java ?

Raymond Sclison

Raymond Sclison

Directeur technique

SSII Cosmobay-Vectis

En savoir plus sur l'auteur

11 septembre 2009 Laisser un commentaire

Java fait moins polémique. Pour autant, est-il l'aboutissement en matière de langage de programmation ? Non, et c'est lui qui a ouvert les portes à la concurrence.

Par Raymond Sclison, directeur technique de la SSII Cosmobay-Vectis.
Quel chemin parcouru par le langage Java en à peine quinze ans ! D'un langage pour passionnés, il est passé au stade de langage de prédilection pour la réalisation d'applications dans nombre de domaines. Les polémiques sur ses performances se sont atténuées, le code est maintenant ouvert et les compétences largement disponibles. Faut-il pour autant considérer Java comme l'évolution ultime des langages informatiques ? Est-il en position dominante ? Je crois que nous ne sommes pas au bout de nos surprises. La recherche et l'innovation sont, dieu merci, encore à l'oeuvre. Car en voulant devenir un langage universel, Java s'est considérablement complexifié. Il a de fait ouvert la voie à des alternatives qui privilégient la simplicité et l'élégance. Je n'en veux pour preuve que 2 exemples. Le premier c'est Ruby. Ruby existe depuis longtemps mais ce n'est que depuis quelques années qu'il a trouvé son créneau - le développement rapide d'applications Web - et son "public".
Trop nouveau dans l'exécution
Mais il a un inconvénient. Il s'agit d'un environnement totalement nouveau. Pour les développeurs c'est une nouvelle bibliothèque qu'il faut apprendre. Pour les exploitants c'est toute l'expérience accumulée par l'exploitation des programmes Java qui n'est plus utilisable. On comprend mieux alors la frilosité des entreprises. Le second exemple, c'est le développement de langages autour de la machine virtuelle Java. Ceux-ci peuvent générer du bytecode pour la machine virtuelle avec un compilateur approprié. Autrement dit on peut exécuter les programmes écrits dans ces langages dans la machine virtuelle Java et la plupart du temps en coexistence avec du code Java classique. On peut donc directement profiter de la grande bibliothèque de composants écrits en Java. Mais aussi capitaliser sur les environnements d'exécution Java déjà en place dans l'entreprise. Deux langages de ce type m'intéressent beaucoup.
Lisp et Clojure
Tout d'abord Scala. Il apporte la programmation fonctionnelle, largement délaissée alors qu'elle produit des programmes tellement compacts et lisibles. Scala permet en fait de mêler programmation objet et programmation fonctionnelle. Il est totalement interopérable avec Java. Le second langage intéressant c'est Clojure. Clojure c'est le retour du langage Lisp. Je l'avoue j'ai toujours été un de ces grands fans. Avec lui, j'ai écrit mes meilleurs codes. J'ai ainsi développé un simulateur de bataille pour l'armée que je n'envisagerai même pas réécrire en Java étant donné sa complexité. Lisp reste à mon sens le langage offrant la meilleure productivité. Je sais que les développeurs sont prêts à se remettre en cause et à tirer le meilleur parti de ces langages. Mais le marché permettra-t-il le développement de ces innovations, ou restera-t-il dans une attitude de conservatisme ? J'espère en tout cas que l'informatique - et en particulier la programmation - pourra rester un terrain d'innovation et d'enthousiasme.

Mentions légales © L’Atelier BNP Paribas