L'augmentation et la baisse de la popularité des langages de programmation depuis 2016 - et ce que cela nous dit
Notre dernière étude approfondie analyse les chiffres de 2016 à 2024, révélant des informations fascinantes sur la popularité des langages de programmation et sur la manière dont les tendances émergentes et les changements du secteur ont influencé les préférences des développeurs.
Au cours des dernières semaines, nous avons discuté de la popularité des langages de programmation ici sur ZDNET. Plus récemment, j'ai regroupé les données de neuf classements différents pour produire l'indice ZDNET de popularité des langages de programmation.
En rassemblant ces statistiques, j'ai trouvé mes données brutes provenant d'une enquête similaire que j'ai menée en 2016. Même si cette étude était basée sur six classements au lieu des neuf que j'ai utilisés cette année, elle s'est néanmoins révélée instructive quant à la popularité globale des langues parmi les groupes constitutifs.
J'étais curieux. Compte tenu des données, comment la popularité des langues a-t-elle évolué au cours des huit dernières années ? De toute évidence, le grand changement dans notre paysage informatique a été l’IA, alors quelle place cela a-t-il dans le mix ? Le résultat est ce très joli schéma.
Ce diagramme contient beaucoup d’informations. Essayons de le diviser en morceaux plus faciles à gérer, en commençant par les langages les plus populaires.
Les meilleures langues
Python est un langage élégant. C'est simple mais extrêmement puissant et est devenu le langage incontournable pour les scientifiques de l'IA et des données, ainsi que pour le développement Web en général. Sans surprise, il s'est hissé à la première place.
JavaScript est devenu de plus en plus central dans le développement Web, notamment dans la création de documents Web dynamiques. Des frameworks comme React et Angular ont également contribué à étendre son utilité et à le placer au-dessus des autres langages.
Les interprètes constants
S'il existe des langages qui incarnent la programmation classique, ce sont les langages basés sur C : Java, C++, C# et C lui-même. Prouvant que le codage algorithmique a encore beaucoup de vie, ces langages sont restés essentiellement inchangés.
Bien sûr, Java a perdu deux positions dans notre index, mais il reste toujours dans le cercle des gagnants. Java est un langage de programmation robuste orienté objet, couramment utilisé dans les applications d'entreprise ainsi que dans le développement Android. Malgré la concurrence d'autres langages, il existe un nombre énorme de programmeurs et d'applications qui le maintiennent pertinent. Pour ceux d'entre vous qui ne suivent pas les langages de trop près, Java et JavaScript sont des bêtes assez différentes.
C++ est l'extension du C ancien, ajoutant des fonctionnalités orientées objet. Bien que le C remonte à 1972, le C++ est encore assez ancien, puisqu'il a été initialement déployé en 1985. Il reste néanmoins populaire pour les applications compilées et sensibles aux performances qui nécessitent une structure orientée objet.
C# est la version Microsoft du C++, largement utilisé dans les applications Windows et les jeux Windows. C'est rapide, efficace et totalement intégré à l'écosystème de développement Microsoft.
Honnêtement, je suis un peu surpris de la longévité de C. Cela dit, c'est serré. Il n’a aucune saleté supplémentaire et fait exactement ce qu’il dit sur la boîte. Il est très apprécié dans certains domaines du développement de systèmes d'exploitation, des compilateurs et des systèmes embarqués.
Pour les six premières langues, les seuls changements au cours des huit années ont été quelques remaniements de positions. Mais maintenant, alors que nous passons à des langues un peu moins universellement populaires, nous constatons que la volatilité a été assez extrême.
Les nouveaux entrants
TypeScript, Rust, Kotlin et Dart ne figuraient pas sur notre liste 2016 mais figurent désormais sur notre liste 2024. Tous les quatre existaient avant 2016 (même si Rust avait à peine un an à l’époque), mais ils connaissent désormais une plus forte adoption.
TypeScript est un autre langage créé par Microsoft. Il s'agit essentiellement d'un JavaScript moderne, ajoutant un typage statique. Cela améliore la qualité du code et facilite la maintenance, surtout à mesure que les projets se développent. Sa capacité à faire évoluer des projets JavaScript est probablement l’un des facteurs qui expliquent sa popularité croissante. Une autre raison est qu’il a été intégré aux principaux frameworks JavaScript.
Rust est un langage largement utilisé dans la programmation système. L'accent mis sur la sécurité de la mémoire sans sacrifier les performances lui a permis de supprimer certains travaux système du C et du C++.
Kotlin est essentiellement Java sous stéroïdes. Kotlin est entièrement interopérant avec Java, ajoutant des fonctionnalités de sécurité de codage, aidant les codeurs à écrire du code plus concis, ajoutant des coroutines pour le code asynchrone, permettant aux programmeurs d'étendre les classes à l'aide de fonctions d'extension, et bien plus encore. Google a choisi Kotlin comme langage préféré pour Android, ce qui lui a donné un fort coup de pouce.
Dart et Flutter semblent sortir d'un film de Disney, mais nous parlons plutôt de langage et de cadre. Dart, développé par Google, excelle dans la création d'interfaces utilisateur mobiles et Flutter aide les développeurs à se déployer sur toutes les plates-formes.
Les étoiles montantes
A l'exception de Go, nos étoiles montantes sont de très vieux fidèles, avec juste un peu plus de ressort dans leur démarche.
Go est un autre langage typé statiquement développé par Google. Il fournit une structure assez simple pour créer des applications simultanées et évolutives. Go est devenu populaire pour le cloud computing, les microservices et la conteneurisation.
Puisque nous avons mentionné le typage statique à plusieurs reprises, je devrais peut-être vous l'expliquer. Les variables codent des conteneurs qui contiennent des valeurs qui changent. Les valeurs attribuées appartiennent souvent à des types différents (comme des entiers, des chaînes de caractères, des nombres à virgule flottante, etc.). Souvent, les compilateurs et les interprètes ne vérifient pas quel type de valeur doit correspondre à quelle variable.
Des problèmes peuvent survenir à cause de ce problème une fois déployés, mais peuvent ne pas être détectés lors du développement. Le typage statique vérifie les variables et les valeurs pendant le processus de développement, conduisant à un code plus fiable une fois déployé. Ce serait magique, sauf que ce n'est qu'une simple question de programmation.
Les langues suivantes ont suscité des débats dans les articles précédents. Certains programmeurs prétendent qu'il ne s'agit même pas de vrais langages. Je les ai inclus parce qu'ils ont été inclus dans les enquêtes que j'ai regroupées. Et avec cela, parlons de SQL, HTML et Shell.
Les programmeurs algorithmiques (en particulier la variété C/C++/C#) examineront HTML et SQL et les décriront comme des langages non réels. C'est parce qu'ils ne disposent pas de fonctionnalités de programmation algorithmique typiques. Mais ils reposent sur une syntaxe qui génère un résultat et, plus précisément, ce sont des compétences nécessaires pour produire des applications.
HTML (qui définit la structure des pages Web) et CSS (qui définit le style) ne vieilliront probablement jamais. Et les pages Web, qu’elles soient sous la forme de sites entiers ou simplement d’éléments de production, sont un enjeu de table pour la plupart des projets modernes. Pourquoi ont-ils augmenté depuis 2016 ? Le développement Web reste la clé de la transformation numérique, les compétences sont donc recherchées.
SQL (Structured Query Language) est un langage permettant de récupérer des données à partir de bases de données. À mesure que les données deviennent de plus en plus importantes, la capacité de les récupérer l’est également.
La programmation Shell, qui est un outil permettant de programmer des séquences de programmes, existe depuis la nuit des temps. C'est l'une des fonctionnalités qui a donné une telle puissance à UNIX puis à Linux. Des formes de programmation shell existent pour tous les principaux systèmes d'exploitation, mais c'est le besoin de plus en plus d'automatisation et d'orchestration dans des environnements système complexes qui maintient ces outils de la vieille école pertinents et en constante évolution.
Les langues perdent en popularité
Les langages en baisse de popularité incluent PHP, Swift, Ruby et R.
Parce que WordPress est construit en PHP et que je fais beaucoup de programmation WordPress, je programme beaucoup en PHP. Ce n’est pas si amusant que ça. PHP est un langage très peu élégant, avec d'étranges incohérences et exceptions. Il est puissant et performant, mais laid et sujet à des erreurs inutiles. Sa popularité diminue à mesure que Python augmente.
Ruby est un autre langage qui a fait son temps au soleil, mais il existe de meilleures alternatives. JavaScript, particulièrement combiné avec Node.js, Python, Go, TypeScript et Rust, sont tous des alternatives plus flexibles, plus puissantes et plus sûres pour le code.
Honnêtement, j'ai été surpris de voir le langage statistique R baisser, d'autant plus que l'analyse des données nécessite des statistiques. Mais le fait est que tout ce que R peut faire, Python peut le faire mieux. Commencez-vous à comprendre pourquoi Python est si populaire ?
Et puis il y a Swift, l'enfant emblématique d'Apple pour le développement iOS. La chute de Swift signifie-t-elle que les applications iOS perdent en popularité ? Non, pas vraiment. C'est juste que Swift n'est plus le seul jeu en ville pour le développement iOS. Les alternatives incluent AppCode de JetBrains, Flutter développé par Google, React Native créé par Facebook et la puissante plateforme de développement de jeux Unity.
Langues qui ont disparu du classement
Il est logique qu'Objective-C soit supprimé des graphiques. C'était autrefois le principal environnement de programmation pour les appareils Apple, mais Apple l'a activement remplacé par Swift. Donc, essentiellement, Objective-C est obsolète.
Perl est étonnant pour ce qu'il fait, mais son code est si compact qu'il est presque illisible. Cela rend également la maintenance beaucoup plus difficile. À mesure que les projets de codage deviennent de plus en plus volumineux, la maintenabilité devient plus importante que le nombre de caractères nécessaires pour écrire une ligne de code.
Visual Basic et Delphi étaient autrefois des langages courants pour la création d'applications Windows, mais ils ont été remplacés par le développement Web pour certaines applications et C# pour tout le reste. Ils ne sont pas oubliés, mais pour la plupart disparus.
Qu'est-ce que tu utilises ?
Quelles langues utilisez-vous ? L’un de vos favoris est-il devenu des étoiles montantes ou a-t-il disparu des charts ? Êtes-vous d’accord avec mon évaluation sur les raisons pour lesquelles les langues ont augmenté ou diminué ? L'un des résultats vous a-t-il surpris ? Faites-le-nous savoir dans les commentaires ci-dessous.
Vous pouvez suivre les mises à jour quotidiennes de mon projet sur les réseaux sociaux. Assurez-vous de vous abonner à ma newsletter hebdomadaire et de me suivre sur Twitter/X à @DavidGewirtz, sur Facebook à Facebook.com/DavidGewirtz, sur Instagram à Instagram.com/DavidGewirtz et sur YouTube à YouTube.com/DavidGewirtzTV.

