La question se pose tous les ans, au moment des vœux et des bonnes résolutions. Pour les développeurs, il s’agit de savoir quels sont les langages qu’ils se doivent absolument de connaître, sur lesquels ils vont investir, sous peine de passer pour des dinosaures du quaternaire.

Le site TechRepublic vient de publier sa liste des sept langages les plus intéressants, à connaître en 2018, en prenant comme critère, le nombre d’emplois que ces langages génèrent aux Etats-Unis. Excellent critère, nous en conviendrons, mais qui de notre point de vue ne donne qu’une vue partielle du problème.

Aussi nous vous proposons notre propre liste, tout à fait différente, car basée sur des critères plus industriels.

Pour TechRepublic, la liste et somme toute assez classique et « colle » à peu près au classement de Tiobe. La référence dans le domaine.

Java est en tête, bien que le nombre d’emplois nouveaux créés autour de ce langage ait diminué en 2017. On estime qu’il y a à peu près huit millions de développeurs Java dans le monde et des milliards d’équipements porteurs de code Java, dont bien sûr, les mobiles Android. De plus 90 % des 500 « Fortune » exploitent du code Java pour des applications de backoffice sur leurs serveurs.

Dans notre classement, Java n’apparaît pas dans le « top seven ». Car nous estimons que le langage aura beaucoup de mal à franchir l’écueil du JDK 9 et que le moment est venu de se poser la question de sa survie.

A la place, nous avons choisi Cobol.

Evidemment ce n’est pas un langage nouveau. Mais le problème n’est pas là.

Ce qui est important c’est qu’il y a des centaines de milliards de lignes Cobol qui continuent de tourner sur les mainframes et les gros serveurs Unix, que l’on commence à peine à remplacer par du code Java ou autre.

C’est devenu une affaire d’état et les rodomontades des consultants, convaincus de faire de la « réingénierie fonctionnelle » à partir d’un code source Cobol, pour le transformer en Java, ont donné lieu à un vaste « floc ». Il est vrai que la tâche était quasi-impossible à effectuer.

Beaucoup de développeurs pensent également que Cobol est un vieux langage. Il faudrait leur rappeler que Cobol est né en 1959 et a été mis en œuvre pour la première fois en 1964. Quatre ans avant le premier langage OO, en l’occurrence Smalltalk, qui lui-même trouvait ses racines dans Simula et surtout dans le langage structuré Algol des années 50. Les langages OO et Cobol sont donc contemporains. Quant à savoir s’il est plus intelligent de mettre un « ; » à la place d’un « . » en fin d’instruction, nous réservons notre réponse, nous qui considérons que la programmation n’est pas une science, mais une technique.

La palme donc à Cobol. Et nous voyons déjà quelques visages s’allonger…

Les palmarès comparés de TechRepublic et LeMarson. Nous avons privilégié les apports techniques et fonctionnels des langages, ainsi que leur potentiel, plus que la réalité économique qui est la leur aujourd’hui.

 

En deuxième position, TechRepublic a choisi Python. Pour lequel les nouveaux jobs créés en 2017 ont été pratiquement au même niveau que ceux de Java. Mais le site fait aussi remarquer – et nous le rejoignons – que Python est le langage n°1 de la communauté scientifique, étendu aux problématiques d’Intelligence Artificielle, de deep learning, etc. Il rencontre un grand succès, ce qui lui vaut pour LeMarson la quatrième place du palmarès.

Derrière ces deux leaders, TechRepublic a retenu JavaScript, langage que nous avons placé également en troisième position.

JavaScript est aujourd’hui utilisé par 80 % des développeurs et dans 95 % des sites Web. TechRepublic précisant que JavaScript bénéficie aujourd’hui d’API tout à fait remarquables, AngularJS et React, par exemple, auxquelles nous ajouterons Node.JS, qui a complètement transformé l’écriture des codes serveurs Web fortement sollicités et a donné lieu à une véritable ruée vers les « packagers » JavaScript, tels que NPM pour Node, voire Yarn et Bower.

TeckRepublic a placé C++ en quatrième position, langage que nous n’avons pas retenu, au moins dans les sept premiers.

Il est vrai que C++ est très utilisé aujourd’hui dans la programmation des jeux, dans les systèmes embarqués, etc. Il est vrai aussi que ce langage peut s’appuyer sur une forte communauté de fans. Mais il reste à notre sens un outil de spécialistes, difficile à utiliser, qui pourrait être remplacé par d’autres solutions. Et nous pensons ici plus particulièrement à  Go de Google.

C# de Microsoft apparaît derrière ce quatuor. Mais là encore nous ne suivons pas TechRepublic, car C# a beau être un excellent langage, qui a bénéficié des compétences d’Anders Hejlsberg et s’appuie sur la très renommée plate-forme Visual Studio et .NET, il n’en est pas moins une déception.

Les parts de marché de C# ne sont pas élevées face à Java et C et seul ASP.NET dans la famille .NET a réussi à s’imposer.

Cela dit, il faut aussi tenir compte du fait que Microsoft s’oriente de plus en plus nettement vers des solutions serveurs centralisées, au détriment du poste de travail. Mathématiquement, C# bénéficiera de cette évolution.

Pour ce qui le concerne, LeMarson a choisi de placer Ceylon en tête d’affiche. Car c’est ce langage conçu par Gavin King (le même qu’Hibernate) qui nous semble (avec Kotlin) le mieux armé pour reprendre une partie des applications que pourrait abandonner Java, du fait de sa rupture avec le JDK 9. Ceylon est un formidable langage, doté de tous les artefacts intelligents de programmation objet et fonctionnelle, qui plus est compatible Java au niveau exécutable .class. Il est aussi un « transpiler », capable de générer du code JavaScript à la compilation.

Cela dit, il n’est pas écrit que les clients vont avoir le courage de franchir le Rubicon et abandonner Java. Ce sera l’une des grandes questions de 2018.

Pour clore sa liste, TeckRepublic a choisi PHP en 6 et Perl en 7, bien que ce dernier soit largement en perte de vitesse.

Nous leur avons préféré trois langages qui nous semblent beaucoup plus intéressants : R, Scala et Go.

R parce que c’est le grand gagnant dans le domaine statistique et des applications BI. Il est impossible de l’ignorer et certains SGBD, tels ceux d’Oracle et Microsoft, avec SQL Server 2016, l’ont intégré dans leur offre.

R est structurellement conçu pour faire du calcul statistique et d’ailleurs le vrai problème pour les développeurs, sera d’acquérir les connaissances mathématiques nécessaires, plus que d’apprendre la syntaxe du langage.

Pour ce qui est de Scala, ce n’est pas tant le langage que nous avons choisi, mais le symbole de la montée en puissance des langages fonctionnels. Tous les langages objet sont désormais « mâtinés » d’artefacts fonctionnels et il est devenu nécessaire de les apprivoiser. Or, Scala nous semble l’une des meilleures réussites dans ce domaine.

Quant à Go ou Golang, le langage de Google, sa position n’est pas usurpée. Voilà encore un très bon outil, qui a su aller à l’essentiel (typage statique par exemple) et dont le succès ne se dément pas.

Et s’il fallait ressortir de ce palmarès, trois langages sur lesquels nous investirions au moins 5 cents, nous choisirions Go, Ceylon et Scala. Avec ces trois-là, pas de souci, nous serons prêts pour les challenges qui nous attendent.