Quelle est la probabilité de passer d'un langage de programmation donné à un autre ?
Des prédictions basées sur une étude empirique
Comme tout projet, les langages de programmation et technologies associées ont un certain cycle de vie. De nouveaux langages voient le jour, alors que d’autres évoluent pour gagner en maturité et d’autres encore sortent de la compétition. Pour un développeur, une veille technologique est donc importante pour mettre ses compétences à jour et préparer sa prochaine destination si nécessaire. C’est ainsi qu’on observe de nombreuses migrations d’un langage à un autre dans le milieu des développeurs. À partir d’un langage de programmation donné, la prochaine destination peut toutefois être prévisible ; raison pour laquelle un développeur s’est essayé à prédire la probabilité de passer d’un langage X à un langage Y, sachant qu'on envisage bien sûr de passer à un autre langage.
Pour y parvenir, il a écrit un script pour interroger Google pour trouver les différents billets de blog dans lesquels les développeurs ont expliqué qu’ils étaient passés d’un langage X à un langage Y. Il a essayé quelques chaînes de requête différentes, comme move from <language 1> to <language 2>, switch to <language 2> from <language 1> et quelques autres. En fin de compte, il a obtenu le premier tableau de contingence suivant. La cellule i,j représente le nombre de départs du langage sur la ligne i vers le langage sur la colonne j.
À partir de ce tableau, il a construit la matrice des probabilités associée en normalisant chaque ligne. Cette matrice stochastique nous donne une approximation des probabilités de basculer entre les langages et permet d’avoir une idée sur les futures popularités des différents langages. Il faut en effet noter qu'elle a été triée des langages qui seront les moins populaires à ceux qui seront les plus populaires.
Du tableau précédent, on peut tirer les conclusions suivantes :
- les développeurs Lisp et Perl ont une plus forte probabilité de passer à Python s'ils doivent changer de langage. C'est le cas également des développeurs Erlang ;
- un développeur Visual Basic qui veut changer de langage ira de manière presque inévitable (0,92) vers C# ;
- il est plus probable pour les développeurs Fortran et Pascal de passer à C que vers un autre langage. C'est également le cas des développeurs R ;
- pour les développeurs Cobol, Kotlin et Scala, la prochaine destination sera probablement Java ;
- les développeurs qui abandonneront le langage Swift vont nécessairement (0,99) se tourner (ou revenir) vers Objective-C. Inversement, il y a plus de chances pour un développeur Objective-C de passer à Swift qu'à un autre langage ;
- on remarque également que les développeurs qui utilisent des langages populaires tels que C, Java et Python sont en moyenne beaucoup plus susceptibles de passer à Go, s'ils doivent adopter un autre langage. Go est également la destination la plus probable pour les développeurs partant de Node, Rust et Ruby. C’est probablement tout cela qui annonce Go comme le langage de programmation du futur, comme plusieurs études ont essayé de le dire ces derniers mois.
Le classement des cinq langages qui seront les plus populaires à l’avenir, sur la base de cette étude, sont donc Go (16,41 %), C (14,26 %), Java (13,21 %), C++ (11,51 %) et Python (9,45 %). On voit qu’à 45 ans, le langage C continue d’être présent, Java est là pour rester, Rust semble se porter plutôt bien alors que Perl risque de mourir.
La même analyse a été faite pour les frameworks frontend JavaScript. Comme on peut le voir, React reste en tête dans cette catégorie. Il attire énormément les développeurs Angular (0,96), Vue (1,0) et Backbone (0,91), mais le framework Vue se trouve aussi dans une très bonne position, juste devant Angular.
La même analyse a été reproduite encore en sélectionnant un certain nombre de bases de données : DynamoDB, Riak, Redis, MariaDB, MongoDB, Cassandra, PostgreSQL et Mysql. Les résultats sont donnés par la matrice de contingence suivante :
Bien entendu, cette étude a ses limites, vu qu’elle ne considère que des billets dans lesquels des développeurs ont expliqué qu’ils ont changé de langage. En plus, les chaines de requêtes semblent être uniquement en anglais, ce qui exclut les autres langues et certaines régions. Vous pourrez vous-même découvrir d’autres limites. Mais il s’agit ici de voir en quoi ces résultats se rapprochent de la réalité que vous connaissez.
Source : Blog Erik Bernhardsson
Et vous ?
Que pensez-vous de cette analyse et de ces résultats ?
Quels commentaires faites-vous des différents résultats ?
Voir aussi :
Offres d'emploi en 2016 : Java largement en tête, suivi par JavaScript et PHP
Étude sur les salaires des offres d'emploi en 2016 : TypeScript, Go et Ruby sont les mieux payés
Partager