Les exhortations de la NSA et de la Maison Blanche n’auront pas réussi à entacher la popularité des langages C et C++. En effet dans l’index de Tiobe du mois de juin, C++ passe à la seconde place et relègue C à la troisième. A bien y regarder, ce changement est à relativiser car l’intérêt pour les deux langages s’émoussent sur un an (-1,33 point pour C++ et -3,14 point pour C). Il n’en demeure pas moins que le moment est historique, car c’est la première fois que C++ passe devant C.
Paul Jansen, CEO de Tiobe, observe que « le C++ n'a jamais été aussi haut dans l'indice TIOBE, alors que le C n'a jamais été aussi bas ». Il considère que le langage « a commencé une nouvelle vie à partir de 2011 avec ses mises à jour régulières tous les trois ans ». Et d’en citer les atouts, « performance et évolutivité », mais aussi les défauts, « la multiplicité de faire les choses, c’est-à-dire la richesse des idomes due à sa longue histoire et sa volonté de rétrocompatibilité ». Cet historique « rend le code plus difficile à comprendre et à maintenir », rapporte le dirigeant. Et d’ajouter, « au fil des ans, de nombreux idiomes différents ont été introduits sans être dépréciés ».
Rust et Go en progression, Swift se positionne
Il rappelle que le langage C++ est largement utilisé dans les systèmes embarqués, le développement de jeux et les logiciels de négociation financière, pour ne citer que quelques domaines. Pour autant, il a aussi ses détracteurs en particulier l’administration américaine qui a exhorté les développeurs à se tourner vers des langages plus sécurisés pour la mémoire. A contrario, elle estime que C et C++ comportent des risques des débordements de mémoire tampon, des lectures hors-limites (out-of-bounds reads) et des fuites de mémoire.
Parmi les langages considérés comme sécurisés, il y a Rust, Go, Java, Ruby et Swift. Les deux premiers. Dans l’index de Tiobe, Go progresse fortement sur un an en s’emparant de la 7ème place. Rust a aussi le vent en poupe en grimpant sur un an de la 20eme à la 17eme place. De son côté Apple, Ted Kremenek, directeur des langages et des runtime a indiqué lors de la conférence WWDC que « la sécurité, la vitesse et l'accessibilité de Swift, combinées à l'interopérabilité C et C++ intégrée, font de Swift le meilleur choix pour succéder à C++ »