Quels sont les langages de programmation les plus utilisés par les développeurs ?
Une analyse des évènements publics sur GitHub

Le , par Michael Guilloux, Chroniqueur Actualités
Ben Frederickson, un développeur et blogueur, s'est amusé à dresser un classement de la popularité des langages de programmation en comptant tout simplement le nombre de personnes qui les utilisaient sur les plateformes d'hébergement de code, et en particulier GitHub. Pour cela, il a utilisé les projets GitHub Archive et GHTorrent comme sources de données pour son analyse.

L'archive GitHub fournit un enregistrement de tous les événements publics sur GitHub depuis le début de l'année 2011. Elle crée un événement chaque fois que quelqu'un a créé un nouveau code, un fork ou un référentiel, ou a ouvert un ticket sur la plateforme. Tout le projet GitHub Archive a plus de 1,25 milliard d'événements sur plus de 75 millions de dépôts différents. Avec GHTorrent, il a pu aller plus loin pour déterminer les langages de la plupart des dépôts.

Un autre élément qui lui permettra d'affiner son analyse est qu'il y a des noms d'utilisateur associés à chacun de ces événements, ce qui signifie qu'il est possible de compter le nombre de personnes différentes utilisant chacun des langages. Pour ce faire, chaque fois qu'un utilisateur interagit avec un référentiel, Ben Frederickson compte cet utilisateur comme utilisant le langage de ce référentiel, puis il fait les cumuls pour chaque mois afin de calculer le nombre mensuel d'utilisateurs actifs (MAU) de chaque langage.

Puisque les données remontent jusqu'à sept ans en arrière, le développeur a pu également montrer l'évolution de chaque langage de programmation au fil du temps, et déceler certaines tendances intéressantes. Il a pu ainsi faire un classement sur la popularité des langages, mais aussi déterminer les langages de programmation qu'il vaudrait la peine d'apprendre et ceux qu'il faudrait peut-être éviter. Cela dit, que nous révèle son analyse ? C'est ce que nous allons découvrir dans la suite.

Classement des langages en fonction de leur base d’utilisateurs mensuels actifs




Bien que le classement général dise déjà beaucoup de choses, il sera plus intéressant d'examiner de plus près comment ces langages se sont comportés au fil du temps.

Focus sur les principaux langages

Les principaux langages de programmation ont une utilisation relativement stable, et sont principalement ceux que vous attendez : JavaScript, Python, Java, C ++, C et C#.


JavaScript enregistre sur toute la période le plus grand nombre d'utilisateurs mensuels actifs, avec une bonne longueur d'avance sur les autres. Ce n'est toutefois pas une surprise, car comme le souligne Ben Frederickson, c'est le langage que tous les programmeurs ont dû ou devront utiliser à un moment donné. On voit également que Python a progressivement gagné du terrain et finit par dépasser Java pour devenir le deuxième langage le plus populaire sur GitHub. Pour en arriver là, Python a probablement bénéficié de l'intérêt croissant pour le machine learning, où il est désormais l'un des langages les plus prisés. On voit également que C++ est monté en popularité au détriment de C. Cela a du sens, d'après Ben Frederickson, dans la mesure où même des projets comme GCC ont été convertis de C en C ++ pour avoir accès à certaines fonctionnalités en C ++.

Langages à apprendre en 2018

Il s'agit des langages avec les bases d'utilisateurs ayant les plus fortes croissances, en ce qui concerne le pourcentage de développeurs qui les utilisent sur GitHub. Cela concerne donc en général les jeunes langages qui semblent avoir la cote auprès des développeurs. En tête du classement se trouve le langage Go développé par Google, suivi de TypeScript, le surensemble typé de JavaScript qui est développé par Microsoft.


À la troisième place vient Kotlin qui semble être principalement utilisé pour le développement d'applications Android. On remarque au niveau de son évolution un changement de pente ; ce qui indique une augmentation brusque de sa base d'utilisateurs. Ce qu'il est intéressant de remarquer, c'est que ce changement coïncide plus ou moins avec le moment où Google a annoncé le support de première classe de Kotlin dans Android Studio en mai 2017. Le langage développé par JetBrains a donc probablement bénéficié d'un coup de pouce de la firme de Mountain View.

Alors que Rust se développe plus lentement que les autres langages ici, Ben Frederickson note que ce langage est tout de même utilisé dans de nombreux projets intéressants. Il fait également remarquer une condition très souvent nécessaire pour qu'un nouveau langage ait du succès : « Une chose intéressante que tous ces langages ont en commun est qu'ils sont tous sponsorisés par de grandes entreprises : Google a lancé Go, Microsoft avec TypeScript, JetBrains avec Kotlin et Mozilla avec Rust », dit-il. « Lancer avec succès un nouveau langage de programmation demande beaucoup d'efforts – il ne suffit pas de développer un langage élégant, il faut aussi développer la communauté et l'écosystème derrière le langage. Des choses comme le support de l'EDI, les bibliothèques et les paquets pour les tâches courantes, les outils et la documentation ont énormément d'importance pour amener les gens à utiliser un langage, ce qui nécessite des efforts considérables », a-t-il ajouté.

Langages qu'il faut peut-être éviter

S'il y a des langages à apprendre, il y a aussi des langages qu'il faut peut-être éviter (notamment pour de nouveaux projets), en se basant sur le même critère : la hausse en ou la baisse en popularité. Les langages à éviter sont définis ici comme les langages avec les pourcentages d'utilisateurs le plus en baisse. Il s'agit ici de Ruby, PHP, Objective-C, CoffeeScript et Perl.


Ces langages ont tous vu leur pourcentage d'utilisateurs sur GitHub diminuer de manière significative au cours des sept dernières années. Ruby a connu la plus forte baisse sur cette période, en passant du deuxième langage le plus populaire en 2011 avec plus de 18 % des utilisateurs au 11e plus populaire aujourd'hui avec 3,2 % des utilisateurs. « Bien que ce soit un déclin choquant, il est intéressant de souligner que ces statistiques sont données en pourcentage de la base d'utilisateurs de GitHub – et GitHub se développe rapidement », précise Ben Frederickson. Cela ne veut donc pas dire que la base d'utilisateurs de Ruby (ou encore PHP, Objective-C, CoffeeScript ou Perl) a forcément diminué, mais seulement que par rapport à l'ensemble des langages utilisés aujourd'hui, sa part de marché s'est vue réduite. Il faut par exemple noter que le nombre d'utilisateurs sur GitHub a été multiplié par plus de 20 entre 2011 et maintenant. Cela dit, comme on peut le voir dans le graphique ci-dessous, même des langages dont la part de marché diminue peuvent avoir une base d'utilisateurs croissante : cas par exemple de PHP.


À propos de la forte base d'utilisateurs de Ruby en 2011, Ben Frederickson rappelle que GitHub a été lancé par des membres éminents de la communauté Ruby, et une grande partie de leur code est écrit en Ruby. Cela les a donc amenés à attirer un grand nombre de programmeurs Ruby à leurs débuts, ce qui a fait que Ruby a été surreprésenté à l'époque. Mais au fur et à mesure que GitHub augmentait sa base d'utilisateurs, la plateforme a naturellement commencé à attirer des programmeurs utilisant d'autres langages.

Autres résultats intéressants

Ce qu'il est intéressant de noter ici également est que certains nouveaux langages tendent à récupérer la base d'utilisateurs d'autres langages plus anciens. Ci-dessous, on voit par exemple que la baisse de l'utilisation d'Objective-C correspond à la hausse de Swift. De même, CoffeeScript semble avoir été remplacé par TypeScript.



Source : Ben Frederickson

Et vous ?

Que pensez-vous des différents classements ? Comment expliquez-vous ces tendances ?
Que pensez-vous de la méthodologie utilisée ici par rapport à celles de TIOBE, PyPL ou autres indicateurs ?

Voir aussi :

Pourquoi les langages C et C++ auraient-ils encore de nombreuses années devant eux ? Donnez votre avis
Les développeurs nés dans les années 70 auraient commencé à écrire leurs premières lignes de code plus tôt que les générations suivantes
Index TIOBE : C sacré langage de programmation de l'année 2017, Python enregistre encore la plus forte progression annuelle sur PYPL


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de grunk grunk - Modérateur https://www.developpez.com
le 29/01/2018 à 10:11
Que pensez-vous des différents classements
J'en pense que si il y'a bien une chose dont il faut se méfier en développement c'est les tendances.

Les développeurs JS le subissent particulièrement avec des FW qui du jour au lendemain devient THE fw à utiliser puis un an après il disparaît au profit d'un autre. Fun quand tu développes pour t'amuser , pas du tout quand tu as besoin d'une certaine perénité/stabilité dans les développements.
Avatar de bilgetz bilgetz - Membre actif https://www.developpez.com
le 29/01/2018 à 10:45
Pour en arriver là, Python a probablement bénéficié de l'intérêt croissant pour le machine learning, où il est désormais l'un des langages les plus prisés.
Je pense qu'il y a aussi ansiblle-galaxy qui aide un peu.
Les module pour Ansible étant en python et les role galaxy étant posé sur github, ça doit aider un poil.
Avatar de AoCannaille AoCannaille - Membre chevronné https://www.developpez.com
le 29/01/2018 à 11:14
Pour moi, la position du JS est a relativiser. Combien de dépôts mettent une bonne copie de jQuery en local, faussant ainsi les stats de pas mal de kloc ?
Avatar de tmcuh tmcuh - Membre du Club https://www.developpez.com
le 29/01/2018 à 13:24
sans parler que ce sont des statistiques sur bases de l'open source donc pas "tous les programmeurs" ... à part le web qui publie beaucoup d'open source pour une question de survie, les professionnels du dotnet publie très peu...
Avatar de abriotde abriotde - Membre éprouvé https://www.developpez.com
le 29/01/2018 à 13:57
sans parler que ce sont des statistiques sur bases de l'open source
Tout a fais d'accord. Même si aujourd'hui tous les langages sont touché par l'Open-Source, ils sont concernés à des degré divers. C'est pourquoi les classements qui utilisent plus de sources (offre d'emplois notamment) sont plus fiables. Néanmoins, l'open-source influence aujourd'hui énormément le monde propriétaire qui a de plus en plus tendance à suivre (notamment car ils sont de plus en plus dépendant de plugins ou d'une base ou d'une librairie Open-Source).

Ce qu'il faut suivre c'est la tendance général. Par exemple un développeur PHP n'a pas vraiment de soucis à se faire mais pour apprendre un nouveau langage, je déconseille PHP (ou même Java) je lui préfère Python (ou même C/C++). Go ou Rust sont encore un peu trop jeune pour qu'on leur fasse confiance pour une carrière mais ils méritent que l'on s'y intéressent pour certains projets.
Avatar de Pol63 Pol63 - Expert éminent sénior https://www.developpez.com
le 29/01/2018 à 14:10
Citation Envoyé par abriotde Voir le message
C'est pourquoi les classements qui utilisent plus de sources (offre d'emplois notamment) sont plus fiables.
les offres d'emplois ne permettent pas non plus un classement d'utilisation, juste un classement des langages qui permettent de trouver un emploi.

certaines SSII ont un turn over énorme
une éditeur de logiciel ou une entreprise qui créée ses softs en interne peuvent garder une équipe pendant 15 ans, sans grossir et ces développeurs sont difficilement comptabilisables (que ca soit sur git ou sur les offres)
Avatar de v1cent v1cent - Membre éclairé https://www.developpez.com
le 29/01/2018 à 14:29
Citation Envoyé par Pol63 Voir le message
les offres d'emplois ne permettent pas non plus un classement d'utilisation, juste un classement des langages qui permettent de trouver un emploi.
Et encore même pas ! Car les annonces non pourvues restent plus longtemps, donc plus d'annonces à un instant t n'est pas forcément corrélé directement avec le nombre d'embauches.

Des annonces peuvent rechercher des gens avec des panels de compétences irréalistes, ce qui donne une absence d'embauche réelle mais des annonces qui restent (genre développeur expert JS/JAVA/PHP/.NET en même temps)
Avatar de kilroyFR kilroyFR - Membre confirmé https://www.developpez.com
le 29/01/2018 à 19:19
Ca vaut ce que ca vaut mais ca confirme bien l'impression que j'avais sur les langages a la mode des autres. Interessant malgré tout car representatif de l'etat du marché (ce qui est recherché de ce qui l'est moins).
Avatar de blbird blbird - Membre éprouvé https://www.developpez.com
le 29/01/2018 à 22:26
Citation Envoyé par tmcuh Voir le message
sans parler que ce sont des statistiques sur bases de l'open source donc pas "tous les programmeurs" ... à part le web qui publie beaucoup d'open source pour une question de survie, les professionnels du dotnet publie très peu...
Le DotNet est de plus en plus Open Source dans son mode de propagation. Il est de plus en plus présent sur les sites connus de type github & cie.

Même sur les statistiques TIOBE, qui recherchent sur les offres d'emplois autant que sur le reste, bientôt le JS détrônera le C#.
Avatar de Madmac Madmac - Membre éclairé https://www.developpez.com
le 30/01/2018 à 9:15
Github n'est pas un très bon site pour tirer des conclusions de ce genre. S'il existe un site, où les gens expérimentent un nouveau langage, c'est bien celui. Avoir de l'intérêt et adopter sont deux choses bien différentes.
Contacter le responsable de la rubrique Accueil