Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

Quels sont les langages de programmation les plus utilisés par les développeurs ?


Sujet :

Débats sur le développement - Le Best Of

  1. #1
    Chroniqueur Actualités

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

    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
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Modérateur

    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.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    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.

  4. #4
    Membre émérite
    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 ?

  5. #5
    Membre régulier
    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...

  6. #6
    Membre expérimenté
    sans parler que ce sont des statistiques sur bases de l'open source
    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.
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  7. #7
    Expert éminent sénior
    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)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre éclairé
    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)

  9. #9
    Membre éprouvé
    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).

  10. #10
    Membre expérimenté
    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#.

  11. #11
    Membre éprouvé
    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.
    intel i7
    OpenSuse Leap 42.2
    Plasma et Cinnamon

  12. #12
    Expert éminent sénior
    JavaScript casse tout parce que le web casse tout et que JavaScript est le langage du web.

    Dans ce fil on parle des codes sources mais que ce passe-t-il lorsqu'on regarde les livrables ?



    Tout démarre en 2009 lorsque sortent ES5 et Node.js, ça met un peu de temps à maturer et c'est l'explosion autour de 2013/2014.

    C'est très récent et c'est pour cette raison qu'il y a beaucoup de packages et de frameworks disponibles, ce que les anglophones appellent la "JavaScript fatigue". Ça va durer encore quelques années puis ça se stabilisera, mais clairement la bataille des langages pour le web est terminée : Ça sera JavaScript pour de looongues années.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  13. #13
    Modérateur

    Citation Envoyé par Marco46 Voir le message
    mais clairement la bataille des langages pour le web est terminée.
    Y'a pas de bataille puisque y'a pas d'alternative coté client . Aujourd'hui faire un site (un temps soit peux moderne et sexy) sans JS c'est pas possible.

    Perso heureusement que des transpiler comme Typescript existent sinon je me serait pendu depuis longtemps
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre régulier
    Il faut plutôt se pencher sur les causes des tendances
    Je penses qu'il faut plutôt se pencher sur les causes des tendances, plutôt que de s'en méfier.
    En développement il y a une raison à tout.
    Et je pourrais dire que Javascript et Python sont en tête en raison de leur ouverture sur l'intelligence artificielle, particulièrement l'apprentissage automatique (machine learning) et l'apprentissage profond (deep learning).
    En effet, Javascript grâce à sa framework de deep learning permet aux scientifiques et aux ingénieurs de faire l'éducation de leur modèles totalement en ligne sur une page web, ou d'en faire des simulations en temps réel.
    Python quant à lui intègre facilement des puissants outils de manipulation de données qui sont eux mêmes basé en C/C++, donc très rapides.
    Ce qui fait qu'en plus des utilisations standards, toute la communauté des chercheurs du monde entier raffole de ceux deux langages pour rendre leurs travaux.
    Puis vient Java ...
    Practice makes perfect !
    C'est par la pratique que l'on parvient à la perfection !
    --------------------------------------------------------------
    Artificial Intelligence Ph.D. Student, Bircham International University (BIU) - Madrid
    Civilian in Côte d'Ivoire, Developer, Network Engineer & Machine Learning Engineer

  15. #15
    Membre régulier
    L'étude est bonne, mais pas à généraliser
    L'étude n'est pas du tout fausse. Elle s'est basée uniquement sur GH. J'aurais aimé que d'autre études soient ménées puis faire une conclusion générale. Qu'est-ce qu'il faut apprendre, qu'est-ce qu'il ne faut pas apprendre? Il y a énorméments de facteurs à prendre en compte avant de conclure. J'en citerai quelques-un:
    • de quel univers appartiens-tu, free/open source ou propriétaire?
    • es-tu un débutant, étudiant ou en phase de migration
    • veux-tu travailler sur un projet précis (WordPress, MediaWiki, Debian, ...)?
    • quelle est votre motivation?
    • etc.


    C'est en ayant les réponses à ces questions qu'on peut bien déduire. Les languages populaires d'aujourd'hui deviennent impopulaires demain et ainsi de suite. Tout le monde sait néanmoins que les C, le PHP, le Python, le JS essaient de se maintenir et gagne en maturité.
    Les nouveaux langages proopulsés par les géants du Web sont parfois à craindre parce que qui sait si demain ils seront abandonnés au profit d'autres?

  16. #16
    Candidat au Club
    Je ne suis pas étonné pour JavaScript mais assez surpris de voir Python en 2e position. Quoique Python est très en vogue pour le deep learning donc c'est peut-être pour cela.

  17. #17
    Candidat au Club
    intéressant la position de python...

  18. #18
    Membre du Club
    Amusant : j'ai demandé à mon navigateur bourré d'IA (ben ouai les gars ! deep learning for ever !) de faire une recherche sur le mot "Basic", et même "toute lettre B qui signifierait Basic, y compris en OCR sur les images" et il n'a rien trouvé sur cette page du forum (incluant le post original et la première page de commentaires).
    Aujourd'hui, on entend plus parler de Cobol que de Basic. Bientôt on se demandera s'il a jamais existé.
    Il n'y a qu'en politique et en philosophie que des courants disparaissent de façon aussi radicale (suite à des génocides perpétrés en leur nom).

  19. #19
    Nouveau Candidat au Club
    Javascript nouveau roi
    Je suis d'accord sur le fait que JavaScript est aussi haut sans doute du fait de l'importance du web actuellement.