C++ à son apogée. Rust en attente
Le presque quadragénaire C++ élu langage de programmation de l’année 2022 selon le TIOBE Index. Le chant du cygne avant l’arrivée sur le trône de Rust ?
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, lorsqu’il a dépassé Java dans le classement. Il s’agissait là d’un changement majeur, Java a longtemps été le premier langage du TIOBE.
« 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 », explique Paul Jensen, CEO, Tiobe.
Et d’attribuer également la hausse de popularité de C++ à la mise à jour relativement récente de C++20 en décembre 2020. Il s’agit de la dernière version du langage à être normalisée par l’ISO (International Organization for Standardization). C++ est le principal langage utilisé pour construire Chrome ; il a été un langage clé, avec le C, pour le projet open source Android. Il est également populaire dans la programmation de systèmes, l’industrie automobile, le secteur financier et le développement de jeux.
Bientôt 40 ans…
Le C++, qui date de 1985, a été créé par Bjarne Stroustrup aux Bell Labs comme 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 était d’avoir un langage efficace et flexible analogue au C offrant également des caractéristiques de haut niveau pour l’organisation des programmes.
Depuis 1998, le standard C++ est supervisé par l’ISO. Et depuis 2012, il 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 ; elle sera remplacée l’année prochaine par C++23.
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.
Rust remonte dans le top 20
Demain, toutefois, Rust pourrait écarter C++. Paul Jensen note que Rust, le rival de toujours, est à nouveau revenu dans le top 20 -il figurait à la 26e place voici un an. « Cette fois, cela semble être pour de bon ». Ce qui suggère qu’il pourrait désormais occuper une position stable dans le top 20.
La notoriété de Rust n’a fait que progresser en 2022 après son adoption officielle pour le noyau Linux version 6.1, ouvrant la voie à l’écriture de pilotes en Rust. A bien des égards, le C++ est un choix intéressant pour le langage de l’année. Pour Mark Russinovich, Technical Director, Microsoft Azure, « les développeurs devraient à l’avenir éviter C et C++ au bénéfice d’une réelle sécurité de la mémoire ».
Le Android Open Source Project, qui a adopté Rust en 2021, gère son adoption en laissant le code C ou C++ existant en place, mais en écrivant du nouveau code en Rust. Ses ingénieurs ont pris cette décision après avoir constaté que Rust pouvait assurer la sécurité de la mémoire, tout en offrant des performances équivalentes à celles du C et du C++.