Popularité des langages de programmation
En combinant deux classements faisant autorité, mais différents, on obtient un classement plus objectif et plus proche de la réalité.
Le principe appliqué consiste à additionner la position des langages dans chaque classement, et les reclasser selon cette somme. Les langages qui ne sont pas dans les deux listes, comme par exemple HTML qui figure dans IEEE mais pas dans TIOBE, sont ignorés. Le code complet est fourni plus loin.
Notez bien que le classement des langages par popularité n'est pas le classement des langages les plus demandés dans les offres d'emploi. Je peux déjà vous donnez la liste de ce que l'on recherche le plus pour les projets en entreprise en 2023, dans l'ordre:
- JavaScript et TypeScript.
- Python.
- Java.
- C#.
- PHP.
- C/C++.
- Ruby.
- Go.
- SQL.
- Scala.
Rust représente moins de 1% des offres. Swift, Pascal et Objective-C encore moins
Les deux classements de popularité diffèrent parce qu'ils utilisent des critères différents:
IEEE
On part de la liste des langages ayant des projets sur GitHub, prend en compte le nombre de résultats dans le moteur de recherche Google et dans Google Trends. Ceux qui ont trop peu de résultats sont éliminés.
Pour le classement, on prend en compte le nombre de références sur Twitter, le nombre de nouveaux projets sur GitHub, le nombre de questions concernant le langage sur StackOverflow, les références sur Hacker News et Reddit. En outre sont pris en compte le nombre d'offre d'emplois sur différents site demandant une compétence dans ces langages.
TIOBE
Ici on classe les langages en fonction du nombre de recherche sur les différents moteurs.
Dans les deux cas, cela n'est un indicateur ni du nombre de programmes écrits dans chaque langage, ni du nombre de lignes.
|
|
|
Redmonk (2022)
Les vingt langages les plus populaires en 2022 selon Redmonk, qui utilise une méthode différente aussi de Tiobe:
- JavaScript.
- Python
- Java
- PHP
- C#
- CSS
- C++
- TypeScript
- Ruby
- C
- Swift
- R
- Objective-C
- Scala
- Shell
- Go
- Powershell
- Kotlin
- Rust
- Dart
Code source du script
Le code JavaScript effectue les opérations suivantes:
- On cherche dans la liste ieee les langages qui figurent aussi dans la liste tiobe et on les ajoute dans la liste ultime.
- Pour chaque langage dans la liste ultime, on attribue un poids qui est la position moyenne entre les deux autres listes.
- On classe la liste ultime par ordre de poids croissants.
- Les listes sont affichées chacune dans une table avec la fonction disparray().
$tiobe = array(
"C", "Java", "Objective-C", "C++", "Visual Basic",
"C#","PHP","Python","JavaScript","Transact-SQL",
"Perl","ASP.NET","F#","Ruby","ActionScript",
"Swift","Delphi/Object Pascal","Lisp","MATLAB","Assembly",
"OpenEdge ABL","SAS","Pascal","PostScript","Logo",
"ML","COBOL","R","Ada","Go",
"C shell","Fortran","ABAP","cT","PL/I",
"Lua","Ladder Logic","Haskell","Scratch","Scala",
"Scheme","Z shell","Tcl","Erlang","Common Lisp",
"Prolog","RPG","Modula-2","PL/SQL","D"
);
$ieee = array(
"Java","C","C++","Python","C#",
"PHP","Javascript","Ruby","R","MATLAB",
"SQL","Perl","Assembly","HTML","Visual Basic",
"Objective-C","Scala","Arduino","Shell","Go",
"Processing","D","Lua","Fortran","Haskell",
"Lisp","VHDL","Delphi","Prolog","Clojure",
"ASP.NET","SAS","Verilog","Erlang","Ada",
"COBOL","Scheme","CoffeeScript","Actionscript","ABAP",
"Tcl","Apex Code","OCaml","Ladder Logic","J",
"Eiffel","Forth","Scilab","Logo","",
);
$ultimate = array();
function disparray($arr) {
$len=count($arr);
for($i = 0; $i < $len; $i++) {
echo "<li>".$arr[$i]."</li>\n";
}
}
function main()
{
global $ultimate;
global $tiobe;
global $ieee;
$value = 1;
foreach($ieee as $t => $v) {
$lang = $ieee[$t];
$ipos = array_search($lang, $tiobe);
if($ipos !== false)
{
$ultimate[$lang] = $value + $ipos + 1;
}
$value++;
}
asort($ultimate);
$ultimate=array_keys($ultimate);
}
main();
Les résultats de ces classements sont en fait surprenants. Il y a des langages bien placés dans ces listes dont la plupart des programmeurs n'ont jamais entendu parler! Mais puisqu'ils figurent dans les deux listes (la liste ultime le prouve), ils sont largement utilisés...
Mais c'est ce qui fait l'intérêt de ce classement: découvrir quels langages sont réellement utilisés en production, lesquels sont les plus courants, à coté de ceux dont on parle fréquemment dans les forums et qui en fait ne sont pas aussi souvent mis en pratique qu'on le croirait.