En rassemblant ces statistiques, j’ai retrouvé les données brutes d’une étude similaire que j’avais réalisée en 2016. Bien que cette étude ait été basée sur six classements au lieu des neuf que j’ai utilisés cette année, elle s’est avérée instructive en ce qui concerne la popularité globale des langages à travers les groupes constitutifs.
J’étais curieux de savoir comment la popularité des langues a évolué au cours des huit dernières années ? De toute évidence, le grand changement dans notre paysage informatique a été l’IA. Quelle est la place de cette dernière ? Le résultat est ce très joli diagramme.
David Gewirtz/ZDNET
Ce diagramme contient beaucoup d’informations. Essayons de le décomposer en morceaux plus faciles à gérer, en commençant par les langues les plus courantes.
Python et JavaScript, les langages qui sont au sommet du classement
Python est devenu le langage de prédilection des spécialistes de l’IA
Python est un langage élégant. Il est simple mais extrêmement puissant. Il est devenu le langage de prédilection des spécialistes de l’intelligence artificielle et des données, ainsi que du développement web en général.
Il se hissé, sans surprise, à la première place.
JavaScript est devenu central dans le développement web
JavaScript est devenu de plus en plus central dans le développement web. En particulier dans la création de documents web dynamiques. Des frameworks comme React et Angular ont également contribué à étendre son utilité et à le faire passer avant d’autres langages.
Java, C++, C#, les langages qui performent à toutes les époques
S’il existe des langages qui incarnent la programmation classique, ce sont bien les langages basés sur le langage C : Java, C++, C# et C lui-même. Preuve que le codage algorithmique a encore de beaux jours devant lui, ces langages sont restés essentiellement inchangés.
Java reste dans le cercle des gagnants
Certes, Java a perdu deux places dans notre index. Mais il reste dans le cercle des gagnants. Java est un langage de programmation robuste et orienté objet, couramment utilisé dans les applications d’entreprise et dans le développement d’Android.
Malgré la concurrence d’autres langages, un très grand nombre de programmeurs et d’applications le maintiennent à jour. Pour ceux d’entre vous qui ne suivent pas les langages de trop près, Java et JavaScript sont deux choses très différentes.
C++ reste populaire pour les applications compilées
C++ est l’extension de l’ancien langage C, auquel il ajoute des fonctionnalités orientées objet. Alors que le C remonte à 1972, le C++ est encore assez ancien, puisqu’il a été déployé pour la première fois en 1985.
Il n’en reste pas moins populaire pour les applications compilées, sensibles aux performances et nécessitant une structure orientée objet.
Je suis un peu surpris de la longévité de C#
C# est la version de C++ de Microsoft, largement utilisée dans les applications et les jeux Windows. Il est rapide, efficace et totalement intégré à l’écosystème de développement de Microsoft.
Honnêtement, je suis un peu surpris de la longévité de C#. Cela dit, il est bien conçu. Il n’est pas encombrant et fait exactement ce qu’il est censé faire. Il est très apprécié dans certains domaines du développement de systèmes d’exploitation, de compilateurs et de systèmes embarqués.
Pour les six premiers langages, les seuls changements survenus au cours des huit dernières années ont été quelques changements de position. Mais quand on passe à des langages un peu moins universellement populaires, nous constatons que la volatilité a été assez extrême.
TypeScript, Rust, Kotlin, Dart et Flutter, les nouveaux venus
TypeScript, Rust, Kotlin et Dart ne figuraient pas sur notre liste de 2016 mais sont désormais sur notre liste de 2024. Tous les quatre existaient avant 2016 (même si Rust avait à peine un an à l’époque). Mais ils connaissent aujourd’hui une plus grande popularité.
TypeScript, un JavaScript moderne
TypeScript est un langage issu de Microsoft. Il s’agit essentiellement d’un JavaScript moderne, qui ajoute un typage statique. Cela améliore la qualité du code et facilite la maintenance, en particulier lorsque les projets prennent de l’ampleur.
Sa capacité à faire évoluer les projets JavaScript est probablement l’un des facteurs qui expliquent sa popularité croissante. Un autre facteur est qu’il a été incorporé dans les principaux framework JavaScript.
Rust pour la programmation de systèmes
Rust est un langage très utilisé dans la programmation de systèmes.
L’accent qu’il met sur la sécurité de la mémoire sans sacrifier les performances l’a aidé à prendre une partie du travail de C et C++ sur les systèmes.
Kotlin, du Java sous stéroïdes
Kotlin est un langage Java sous forme de stéroïdes. Kotlin est totalement interopérable avec Java, ajoutant des fonctionnalités de sécurité de codage, aidant les codeurs à écrire un code plus concis, ajoutant des coroutines pour le code asynchrone, permettant aux programmeurs d’étendre les classes en utilisant des fonctions d’extension, et plus encore.
Google a choisi Kotlin comme langage préféré pour Android, ce qui lui a donné une forte impulsion.
Dart et Flutter, pour déployer sur plusieurs plateformes
Dart et Flutter semblent tout droit sortis d’un film de Disney. Mais il s’agit plutôt d’un langage et d’un framework. Dart, développé par Google, excelle dans la construction d’interfaces utilisateur mobiles, et Flutter aide les développeurs à déployer des applications sur plusieurs plateformes.
Go, SQL, HTML et Shell, les étoiles montantes
À l’exception de Go, nos étoiles montantes sont en fait de vieux langages.
Go, développé par Google
Go est un langage à typage statique développé par Google. Il offre une structure relativement simple pour la création d’applications évolutives et simultanées. Go est devenu populaire pour le cloud computing, les microservices et la conteneurisation.
La puissance du typage expliquée
Puisque nous avons mentionné le typage statique à plusieurs reprises, je devrais peut-être vous l’expliquer. Les variables sont des conteneurs de codage qui contiennent des valeurs qui changent.
Les valeurs qui sont assignées appartiennent souvent à différents types (comme les entiers, les chaînes de caractères, les nombres à virgule flottante, etc.)
Souvent, les compilateurs et les interprètes ne vérifient pas quel type de valeur doit être associé à quelle variable.
Des problèmes peuvent en découler une fois le projet déployé. Mais ils peuvent ne pas être détectés au cours du développement. Le typage statique vérifie les variables et les valeurs au cours du processus de développement, ce qui permet d’obtenir un code plus fiable une fois déployé. Ce serait de la magie, mais c’est une simple question de programmation.
SQL, HTML et Shell restent dans la course
Pour les langages suivants, certains programmeurs affirment que ce ne sont pas de vrais langages. Je les ai inclus parce qu’ils figuraient dans les enquêtes que j’ai rassemblées. Et sur ce, discutons de SQL, HTML et shell.
Oui HTML et SQL sont des langages
Les programmeurs algorithmiques (en particulier la variété C/C++/C#) regarderont HTML et SQL et les décrieront comme n’étant pas de vrais langages. C’est parce qu’ils n’ont pas les caractéristiques typiques de la programmation algorithmique.
Mais ils sont basés sur une syntaxe qui génère un résultat et, plus important encore, ce sont des compétences nécessaires pour produire des applications.
HTML et CSS ne vieilliront jamais
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’il s’agisse de sites entiers ou de simples éléments de sortie, sont des enjeux de taille pour la plupart des projets modernes.
Pourquoi ont-elles augmenté depuis 2016 ? Le développement web reste un élément clé de la transformation numérique, c’est pourquoi les compétences sont recherchées.
SQL pour extraire des données de bases de données
SQL (structured query language) est un langage permettant d’extraire des données de bases de données.
Les données devenant de plus en plus importantes, la capacité à les récupérer l’est tout autant.
Shell existe depuis la nuit des temps
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 caractéristiques qui a donné à UNIX, puis à Linux, une telle puissance.
Il existe des formes de programmation shell pour tous les principaux systèmes d’exploitation, mais c’est la nécessité d’automatiser et d’orchestrer de plus en plus les environnements de systèmes complexes qui fait que ces outils de la vieille école restent d’actualité et évoluent constamment.
PHP, Swift, Ruby et R, en perte de popularité
Les langages qui perdent en popularité sont PHP, Swift, Ruby et R.
PHP est un langage très inélégant
Parce que WordPress est construit en PHP et que je fais beaucoup de programmation WordPress, je programme beaucoup en PHP. Ce n’est pas très amusant.
PHP est un langage très inélégant, avec des incohérences et des exceptions bizarres. Il est puissant, mais il est laid et sujet à des erreurs inutiles. Il perd en popularité au fur et à mesure que Python augmente.
Ruby a eu son heure de gloire, mais il existe de meilleures alternatives
Ruby est un langage qui a eu son heure de gloire, mais il existe de meilleures alternatives.
JavaScript, en particulier combiné à Node.js, Python, Go, TypeScript et Rust sont tous des alternatives plus flexibles, plus puissantes et plus sûres.
Tout ce que R peut faire, Python peut le faire mieux
J’ai été honnêtement surpris de voir le langage statistique R chuter, d’autant plus que l’analyse des données nécessite des statistiques.
Mais le fait est que tout ce que R pouvait faire, Python peut le faire mieux. Commencez-vous à comprendre pourquoi Python est si populaire ?
Swift n’est plus la seule solution pour le développement iOS
Et puis il y a Swift, l’enfant d’Apple pour le développement iOS. L’abandon de Swift signifie-t-il que les applications iOS perdent en popularité ? Non, pas vraiment.
C’est simplement que Swift n’est plus la seule solution pour le développement iOS. Les alternatives comprennent AppCode de JetBrains, Flutter développé par Google, React Native créé par Facebook, et la puissante plateforme de développement de jeux Unity.
Objective-C, Perl, Visual Basic et Delphi, les langages qui ont disparu du classement
Il est logique que l’Objective-C disparaisse
Il est logique que l’Objective-C disparaisse du palmarès. Il s’agissait autrefois du principal environnement de programmation pour les appareils Apple.
Mais Apple l’a remplacé par Swift. L’Objective-C est donc devenu obsolète.
Perl est illisible
Perl est extraordinaire pour ce qu’il fait, mais son code est si compact qu’il est presque illisible. Cela le rend également beaucoup plus difficile à maintenir.
Les projets de codage devenant de plus en plus importants, la maintenabilité devient plus importante que le nombre de caractères nécessaires pour écrire une ligne de code.
Visual Basic et Delphi ont été remplacés par le développement web et par C#
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 par C# pour toutes les autres.
Ils ne sont pas oubliés, mais ils ont pratiquement disparu.
Qu’utilisez-vous ?
Quels sont les langages que vous utilisez ? Certaines de vos langues préférées sont-elles devenues des étoiles montantes ou sont-elles tombées en désuétude ? Êtes-vous d’accord avec mon évaluation des raisons pour lesquelles les langues ont progressé ou régressé ?
Certains résultats vous ont-ils surpris ? Faites-nous en part dans les commentaires ci-dessous.