IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le C++ devient plus populaire que le C sur l'indice Tiobe et prend la deuxième place au mois de juin, malgré l'avertissement de la Maison Blanche
Qui invite les développeurs à abandonner C/C++ pour Rust

Le , par Stéphane le calme

66PARTAGES

18  1 
Pour la première fois dans l’histoire de TIOBE, le langage de programmation C++ a dépassé C en popularité, selon son édition de juin 2024. Ce changement marque un tournant significatif dans le monde de la programmation, où C a longtemps été considéré comme un pilier. C++, qui a été créé pour étendre les capacités de C avec des fonctionnalités orientées objet, a mis 39 ans à surpasser son prédécesseur. Depuis décembre 2022, C++ occupait la troisième place de l’index, derrière Java et C. Toutefois, sa popularité a grimpé en flèche en février 2023 et a connu une croissance modeste mais constante depuis lors.

Les développeurs n'ont apparemment pas écouté la récente recommandation de la Maison Blanche d'abandonner le C++ et le C pour des raisons de sécurité de la mémoire, puisque le C++ est devenu le deuxième langage le plus populaire dans l'indice Tiobe durant l'édition de juin, devancé uniquement par Python, tandis que C est passé à la troisième place, sa position la plus basse dans l'indice. Le C++ était troisième le mois dernier, tandis que le C occupait la deuxième place.

Citation Envoyé par Paul Jansen
Le C++ est le nouveau numéro 2 de l'indice TIOBE. Considéré à l'origine comme la version améliorée et orientée objet du langage C, il a fallu 39 ans au langage C++ pour battre la popularité du langage C. Le C++ n'a jamais été aussi haut dans l'indice TIOBE, alors que le C n'a jamais été aussi bas. Le C++ a commencé une nouvelle vie à partir de 2011 avec ses mises à jour régulières tous les trois ans. Bien que la plupart des compilateurs et des ingénieurs ne puissent pas suivre ce rythme, l'évolution du langage est considérée comme un succès. Les principaux atouts du C++ sont ses performances et son évolutivité. Son inconvénient est la multiplicité des façons de faire les choses, c'est-à-dire la richesse de son idiome, due à sa longue histoire et à son souci de rétrocompatibilité. Le 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. Les autres points forts de l'indice TIOBE ce mois-ci sont Go, qui occupe pour la première fois la 7ème place, et Rust, qui atteint un niveau record à la 17ème place.
Le top 10 des langages de programmation de l'index Tiobe pour le mois de juin :
  • Python, avec une part de 15,39 %.
  • C++, avec une part de 10.03 %
  • C, avec une part de 9.23 %
  • Java, avec une part de 8,4 %
  • C#, avec une part de 6.65 %
  • JavaScript, avec une part de 3,32 %
  • Go, avec une part de 1,93 %
  • SQL, avec une part de 1,75 %
  • Visual Basic, avec une part de 1,66 %
  • Fortran, avec une part de 1,53 %


Fin février, un rapport de la Maison Blanche sur la sécurisation de la mémoire invitait les développeurs à abandonner C et C++ pour passer à des langages comme le Rust jugés supérieurs pour sécuriser les espaces mémoire des logiciels. C’est une sortie qui a fait suite à la prise de position du créateur du langage C++ selon laquelle : « la sécurisation des logiciels par le Rust n’est pas supérieure à celle offerte par le C++. »

« En tant que nation, nous avons la capacité - et la responsabilité - de réduire la surface d'attaque dans le cyberespace et d'empêcher des catégories entières de bogues de sécurité d'entrer dans l'écosystème numérique, mais cela signifie que nous devons nous attaquer au problème difficile de l'adoption de langages de programmation sans danger pour la mémoire », a écrit l'Office of the National Cyber Director (ONCD) de la Maison Blanche qui cite le Rust parmi les langages à adopter.

Et d'expliquer que :

« Les langages de programmation tels que C et C++ sont des exemples de langages de programmation qui peuvent conduire à un code non sûr pour la mémoire et qui sont encore parmi les langages les plus utilisés aujourd'hui. Pour tenter d'atténuer les dangers du code à mémoire non sécurisée obtenu en C et C++, de nombreux fabricants de logiciels investissent dans des programmes de formation à l'intention de leurs développeurs.

« Nombre de ces programmes de formation comprennent des tactiques conçues pour réduire la prévalence des vulnérabilités de sécurité de la mémoire produites par ces langages. En outre, il existe de nombreux programmes de formation organisés par des associations commerciales et industrielles. En outre, diverses organisations et universités proposent des formations et un certificat professionnel pour démontrer la connaissance des pratiques de codage sécurisé en C et en C++.

« Bien que la formation puisse réduire le nombre de vulnérabilités qu'un codeur peut introduire, étant donné l'omniprésence des défauts de sécurité de la mémoire, il est presque inévitable que des vulnérabilités de sécurité de la mémoire se produisent encore. Même les développeurs les plus expérimentés introduisent des bogues desquels peuvent résulter des vulnérabilités importantes. La formation doit servir de transition pendant qu'une organisation met en œuvre des contrôles techniques plus robustes, tels que des langages à sécurité mémoire ».

Mais le PDG de Tiobe n'est pas d'accord. Il déclare : « le conseil de la Maison Blanche américaine n'a pas été bien réfléchi à mon avis ». Et d'ajouter : « Comment pouvez-vous recommander Rust alors qu'il n'y a pas encore d'outils et de développeurs ? De plus, Rust est un langage [relativement] complexe à apprendre, donc ce n'est certainement pas quelque chose que vous voulez laisser aux 'développeurs du gouvernement'. Le C++ peut être utilisé de manière très sûre, mais il faut bien sûr savoir comment le faire ».

L'avertissement de la Maison Blanche concernant C et C++ a suscité une vive réaction de la part du concepteur de C++, Bjarne Stroustrup, qui a souligné les efforts déployés par le comité de normalisation de C++ pour rendre ce langage plus sûr.

De son côté, à propos de la réécriture de son SGBD Cloud natif depuis zéro en Rust après abandon du projet en C++, l'éditeur RisingWave indique :

« Rust garantit la sécurisation de la mémoire et des threads au moment de la compilation en introduisant des règles de propriété. Il va au-delà du RAII, un mécanisme de gestion de la mémoire couramment utilisé en C++. Il présente deux avantages. Le premier est évident : une fois que le compilateur Rust a validé notre programme, nous n'aurons pas de défauts de segmentation ou de conditions de concurrence lors de l'exécution, ce qui nécessiterait des dizaines d'heures de débogage, en particulier dans une base de code hautement concurrente et principalement asynchrone. La seconde est plus subtile : le compilateur Rust restreint simplement les types de fautes, ce qui réduit les fragments de code étroitement imbriqués qui peuvent causer un tel comportement bogué. La réplication des bogues est considérablement améliorée avec l'aide de l'exécution déterministe »

Quelles raisons pourraient expliquer le regain de popularité de C++ ?

Le C++ a toujours occupé la troisième place de l'indice depuis décembre 2022, date à laquelle il a pris la place de Java. Sa popularité a connu un pic en février 2023, et a bénéficié d'une croissance modeste mais constante depuis lors. « Le C++ est fortement 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 », a noté Jansen.

Le C++ a été publié pour la première fois en 1985 en tant qu'extension du C. Cette origine lui a à la fois profité et l'a peut-être retardé dans son ascension vers le haut de l'échelle. « Son inconvénient réside dans ses nombreuses façons de faire les choses, c'est-à-dire dans la richesse de son idiome, qui est due à sa longue histoire et à son objectif de compatibilité ascendante », a précisé le PDG de TIOBE.

D'autre part, « C++ a commencé une nouvelle vie à partir de 2011 avec ses mises à jour tous les trois ans », écrit Jansen. Bien que tous les ingénieurs et compilateurs n'aient pas suivi ce calendrier de mise à jour, la vivacité du langage de programmation l'a mis sur la voie d'une popularité et d'une croissance constantes dans l'index.

Les normes C++ sont établies par l'Organisation internationale de normalisation et la Commission électrotechnique internationale. La version actuelle est C++23.

Go et Rust se font remarquer

Parmi les autres points forts de l'indice Tiobe pour le mois de juin, citons le langage Go qui se hisse pour la première fois à la septième place, le langage Rust qui atteint la dix-septième place, un record absolu, et le Fortran qui conserve sa place dans le top 10.

C'est en mars 2023 que Go a réintégré le top 10 de Tiobe, à la 10ème place, après avoir fait quelques années sans en fouler les marches (avant mars 2023, ce n'était qu'en juillet 2017 que Go y figurait). Puis, le mois dernier, Go a gagné deux places et s'est hissé à la huitième place de l'indice. Cette fois-ci, il a gagné une place.

Le classement chez Pypl

L'indice rival Pypl Popularité des langages de programmation évalue la popularité des langages sur la base de la fréquence de recherche des langages dans Google. Les 10 premiers langages de Pypl pour le mois de juin :
  • Python, avec une part de 29,06 %
  • Java, avec une part de 15,97 %
  • JavaScript, avec une part de 8,7 %
  • C#, avec une part de 6.73 %
  • C/C++, avec une part de 6,4 %
  • R, avec une part de 4.75 %
  • PHP, avec une part de 4,57 %
  • TypeScript, avec une part de 3,0 %
  • Swift, avec une part de 2,76 %
  • Rust, avec une part de 2,5 %


Pas représentatif du paysage TIC français

L'indice TIOBE Programming Community est un indicateur de la popularité des langages de programmation. L'index est mis à jour une fois par mois. Les notes sont basées sur le nombre d'ingénieurs qualifiés dans le monde, les cours et les fournisseurs tiers. Les moteurs de recherche populaires tels que Google, Bing, Yahoo!, Wikipédia, Amazon, YouTube et Baidu sont utilisés pour calculer les notes. Il est important de noter que l'index TIOBE ne concerne pas le meilleur langage de programmation ou le langage dans lequel la plupart des lignes de code ont été écrites. L'index peut être utilisé pour vérifier si vos compétences en programmation sont toujours à jour ou pour prendre une décision stratégique sur le langage de programmation à adopter lors du démarrage de la construction d'un nouveau système logiciel.


Emploi informatique 2023 : les langages les plus demandés et les mieux payés
Portail Emploi de Developpez.com

Sources : TIOBE, Pypl

Et vous ?

Que pensez-vous du conseil de la Maison Blanche qui invite les développeurs à abandonner le C et le C++ pour passer à des langages comme le Rust, jugés supérieurs pour sécuriser les espaces mémoire des logiciels ?
Qu’est-ce que l’ascension de C++ sur C révèle sur l’évolution des besoins en programmation ?
Comment la popularité croissante de C++ affecte-t-elle le choix des langages de programmation dans les projets de développement logiciel ?
Croyez-vous que C++ peut maintenir sa position devant C à long terme, ou est-ce un phénomène temporaire ?
Quels avantages C++ offre-t-il qui pourraient justifier cette augmentation de popularité ?
Comment la montée de langages comme Go et Rust influence-t-elle la position de C et C++ dans l’index TIOBE ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de grojiheffe
Membre à l'essai https://www.developpez.com
Le 01/07/2024 à 10:28
On me permettra de douter du sérieux d'un classement des langages de programmation qui inclut le SQL.
1  2 
Avatar de jbrosset
Membre régulier https://www.developpez.com
Le 01/07/2024 à 14:33
Les langages non sécurisés tels que C et C++ auraient dû être abandonnés depuis longtemps, car ils coûtent des milliards en termes de fiabilité.
Il est extrêmement rentable d'apprendre un langage un peu plus complexe au départ mais qui produit "de base" (parce que ses concepts sont propres) du logiciel fiable.
Il y a très longtemps, j'ai eu une expérience de développement avec Ada qui permettait cela : j'ai été ébahi.
Oui, le développement a été un peu plus difficile, la compilation a sorti plein d'erreurs (très précises donc diagnostic facile), la première exécution aussi (très précises également)... et puis ensuite... plus rien ! Le logiciel était au point, très fiable et le temps global de développement avait été inférieur.
Je suis toujours éberlué que les industriels n'aient pas compris l'intérêt d'utiliser des langages fiables de base.
0  1