Chaque langage a une identité qui peut être distinguée visuellement à la lecture d’un bout de code. En allant sur cette base, un développeur a pris soin d’analyser environ 2 To de code open source disponible sur GitHub. L’objectif était de voir quels sont les mots les plus utilisés pour différents langages de programmation.
Il s’est basé sur environ 3 millions de dépôts GitHub entre mi et fin 2016, et a appliqué certaines contraintes dans sa méthode d’extraction des mots, de sorte à éliminer les bouts de code non écrits par un humain. Les ponctuations, les opérateurs et les nombres sont ignorés. Avec sa méthode, il essaie également d’ignorer les lignes de code qui font référence à des termes de licences, en détectant les mots comme « license » ou « noninfringement ». La comptabilisation des mots est également sensible aux majuscules et minuscules. Plus de détails sur la méthode sont disponibles sur GitHub.
Cela dit, on a les résultats suivants, donnant les mots les plus utilisés pour différents langages, ainsi que le nombre d'occurrences associé.
Fichiers .js : JavaScript
this (1er ; 177,4 millions)
function (2e ; 134,2 millions)
if (3e ; 127,7 millions)
var (4e ; 122,4 millions)
return (5e ; 100,4 millions)
Le top 20 est complété successivement par : the, i, a, to, value, else, for, true, length, data, false, name, null, options, is.
Fichiers .jsx : React (JavaScript)
this (1er ; près de 497 000)
div (2e ; environ 408 000)
return (3e ; environ 316 000)
React (4e ; environ 247 000)
import (5e ; environ 225 000)
Le top 20 est complété successivement par : from, props, function, var, react, className, render, PropTypes, if, state, require, const, setState, else, false. Le mot true arrive à la 21e place.
Fichiers .css : CSS
color (1er ; 54 millions)
border (2e ; 47,3 millions)
background (3e ; 42,9 millions)
margin (4e ; 39,3 millions)
left (5e ; 37 millions)
Le top 20 est complété successivement par : width, font, top, padding, content, right, before, btn, height, bottom, none, position, 1px, webkit, ui.
Fichiers .html : HTML
class (1er ; 402,7 millions)
a (2e ; 363,4 millions)
li (3e ; 288 millions)
div (4e ; 279,9 millions)
td (5e ; 239,7 millions)
Le top 20 est complété successivement par : href, span, html, nbsp, tr, ul, p, name, script, id, code, type, text, table, TD.
Fichiers .java : Java
import (1er ; 102,7 millions)
return (2e ; 68,8 millions)
public (3e ; 63,4 millions)
if (4e ; 48,5 millions)
the (5e ; 48,1 millions)
Dans la suite du top 20, nous avons dans l'ordre : org, String, this, new, null, int, java, void, i, Override, com, final, private, util, a.
Fichiers .py : Python
self (1er ; 89,3 millions)
if (2e ; 28,9 millions)
def (3e ; 28 millions)
return (4e ; 23 millions)
import (5e ; 21 millions)
Le top 20 est complété dans l'ordre par : the, in, None, for, from, True, a, to, is, else, not, s, name, of, False. Le mot and vient à la 21e place.
Fichiers .lua : Lua
end (1er ; 6,5 millions)
local (2e ; 2,2 millions)
then (3e ; 1,7 million)
if (4e ; 1,6 million)
return (5e ; 1,5 million)
Le top 20 est complété successivement par : function, msg, self, true, else, data, to, id, player, false, not, the, for, nil, and.
Fichiers .php : PHP
this (1er ; 92 millions)
return (2e ; 55,4 millions)
if (3e ; 54,9 millions)
array (4e ; 49,8 millions)
the (5e ; 44,3 millions)
Dans la suite du top 20, nous avons successivement les mots suivants : function, php, class, div, public, to, a, param, string, else, id, of, name, false, type.
Fichiers .rb : Ruby
end (1er ; 40 millions)
do (2e ; 8,6 millions)
def (3e ; 6,9 millions)
the (4e ; 5 millions)
to (5e ; 4,3 millions)
Dans la suite du top 20, nous avons : if, should, it, require, a, t, new, true, name, config, else, user, class, is, self.
Fichiers .cpp : C++
if (1er ; 111,2 millions)
define (2e ; 105,5 millions)
the (3e ; 89,7 millions)
return (4e ; 85,2 millions)
int (5e ; 61,5 millions)
Dans la suite du top 20, nous avons les mots : const, void, include, to, h, i, for, struct, of, a, else, is, in, endif, this.
Fichiers .pl : Perl
my (1er ; 3,8 millions)
the (2e ; 2,6 millions)
self (3e ; 2 millions)
if (4e ; 1,5 million)
return (5e ; 1,4 million)
Dans la suite du top 20 des mots les plus fréquents, nous avons dans l'ordre : use, to, a, _, sub, of, for, in, shift, is, s, else, and, ticket, Self.
Fichiers .cs : C#
summary (1er ; 27,3 millions)
System (2e ; 22,2 millions)
using (3e ; 19,6 millions)
public (4e ; 16 millions)
return (5e ; 14,9 millions)
Le top 20 est complété successivement par les mots : this, the, if, new, param, string, name, null, int, get, to, void, value, var, set.
Fichiers .scala : Scala
import (1er ; 1,9 million)
val (2e ; 1,3 million)
_ (3e ; 1,1 million)
def (4e ; 718 000)
case (5e ; 649 000)
Le top 20 est complété par les mots : org, the, scala, new, String, a, package, else, com, if, to, this, for, of, in.
Fichiers .go : Go
err (1er ; 17,7 millions)
if (2e ; 15,9 millions)
return (3e ; 14,3 millions)
nil (4e ; 13,2 millions)
the (5e ; 8,5 millions)
Dans la suite du top 20, nous avons les mots suivants : string, s, func, c, t, v, for, to, i, in, error, type, _, is.
Fichiers .sql : SQL
NULL (1er ; 8,2 millions)
NOT (2e ; 5,1 millions)
DEFAULT (3e ; 3,3 millions)
INTO (4e ; 3,1 millions)
INSERT (5e ; 3 millions)
Le top 20 des mots les plus utilisés en SQL est complété par : VALUES, id, SET, KEY, int, varchar, TABLE, unsigned, name, PRIMARY, CREATE, table, for, utf8, ENGINE.
Fichiers .rs : Rust
self (1er ; 3 millions)
let (2e ; 2,1 millions)
fn (3e ; 1,7 million)
the (4e ; 1,6 million)
pub (5e ; 1,5 million)
Le top 20 des mots les plus utilisés en Rust est complété par : mut, a, use, if, to, for, Some, _, of, match, is, new, in, None, tcx.
Certains mots sont communs à la plupart des langages, c’est le cas par exemple de if, else, for, true, false, return. D’autres par contre relèvent de la spécificité du langage concerné. On remarque par exemple avec CSS, une forte récurrence des mots comme color, border, right, left, top, font, width, height contrairement aux autres langages.
On peut également noter que la récurrence de certains mots est due à leur utilisation dans les commentaires. C'est le cas par exemple de the, a, to, of. D'autres encore apparaissent fréquemment à cause de leur utilisation dans les opérations ou expressions. C'est le cas par exemple de a, i. Ils ne sont donc pas forcément des mots clés ou fonctions utilisés dans un langage.
Sources : GitHub, Mots les plus utilisés dans les langages
Et vous ?
Qu’en pensez-vous ?
Pour les langages que vous utilisez, comment expliquez-vous la récurrence de certains mots ?
Quels sont les mots les plus utilisés dans les langages
JavaScript, CSS, HTML, PHP, Ruby, C++, C#, Scala, Go, Python, Perl, Java, Perl, Lua et SQL ?
Quels sont les mots les plus utilisés dans les langages
JavaScript, CSS, HTML, PHP, Ruby, C++, C#, Scala, Go, Python, Perl, Java, Perl, Lua et SQL ?
Le , par Michael Guilloux
Une erreur dans cette actualité ? Signalez-nous-la !