Le titre de « Langage de programmation de l’année » attire une nouvelle fois l’attention sur le lauréat. Cette année, c’est le C++ qui remporte l’honneur, ayant été le langage qui a connu la plus grande augmentation de sa popularité d’une année sur l’autre.
En 2022, le C++ a gagné 4,62 %, contre un gain de 3,82 % pour le C et de 2,78 % pour le Python. Paul Jansen, qui gère le TIOBE Index, était assez confiant quant au fait que le C++ serait le langage de l’année il y a un mois, lorsque le C++ a dépassé Java dans le classement. Il s’agissait là d’un changement important, car Java avait été pendant longtemps le premier langage du TIOBE.
Selon Jansen :
La raison de la popularité du C++ est son excellente performance tout en étant un langage orienté objet de haut niveau. Grâce à cela, il est possible de développer des systèmes logiciels rapides et vastes (plus de millions de lignes de code) en C++ sans nécessairement se retrouver dans un cauchemar de maintenance.
Jansen souligne également la « publication constante de nouveaux standards de langage avec des fonctionnalités intéressantes » et il pense que la récente publication de C++20, qui a introduit les modules « va probablement faire progresser le C++ dans le TIOBE Index pour les prochaines années ».
Personnellement, je trouve que la prolifération des fonctionnalités en C++ est quelque chose qui rend un langage intrinsèquement complexe encore plus difficile. Ainsi, s’il est facile de faire des erreurs en C, le langage sur lequel il est basé, il est facile de faire des erreurs encore plus grandes en C++.
Le C++, qui date de 1985, a été créé par Bjarne Stroustrup aux Bell Labs sous le nom de « C avec classes », c’est-à-dire une extension orientée objet pour le C. Écrit en C, il était initialement traité comme un préprocesseur du C et partageait, et partage encore, l’avantage que chaque ordinateur possède un compilateur C. La motivation de Stroustrup pour la création de C++ était son désir d’avoir un langage efficace et flexible analogue au C qui offrait également des caractéristiques de haut niveau pour l’organisation des programmes. Il continue à être impliqué dans le développement du langage.
Depuis 1998, le standard C++ est supervisé par l’ISO (International Organization for Standardization). Depuis 2012, elle suit un calendrier de publication triennal, de sorte que la dernière version de la norme, ratifiée et publiée par l’ISO en décembre 2020 et connue sous le nom informel de C++20, sera remplacée l’année prochaine par C++23.
Réellement le langage de l’année ?
Il ne fait aucun doute que l’adoption par Microsoft du C++ comme principal langage de programmation système a eu un effet important sur sa popularité. Les gens apprennent C++ uniquement pour travailler avec les API de Windows. L’engagement de Microsoft envers le C++ est si important qu’il ne dispose même pas d’un compilateur C entièrement conforme aux normes — juste un compilateur C++ qui fait du C un sous-ensemble. Comparez cela avec Linux où le C++ est activement découragé. Pour citer Linus Torvalds :
C++ est un langage horrible. Il est rendu encore plus horrible par le fait que beaucoup de développeurs de qualité inférieure l’utilisent, à tel point qu’il est beaucoup plus facile de générer de la merde totale et complète avec lui. Très franchement, même si le choix du C ne faisait rien d’autre que d’empêcher les programmeurs C++ d’entrer, ce serait en soi une énorme raison d’utiliser le C.
Et, il y a beaucoup d’autres choses dans la même veine qui suggèrent que le C++ n’est pas bon pour écrire des systèmes d’exploitation, ce qui est en totale contradiction avec l’opinion de Microsoft.
Alors, le C++ mérite-t-il le titre de « langage de programmation de l’année » ? Pour ses performances qu’il a fait progresser dans le TIOBE Index, oui. Mais cela n’en fait pas un langage adapté à l’avenir.