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, Chroniqueur Actualités
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 ?


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


 Poster une réponse

Avatar de marsupial marsupial - Membre éprouvé https://www.developpez.com
le 19/01/2017 à 14:08
Où que nous soyons, nous sécurisons.
Points communs :
- open source
- s'appuie majoritairement sur du x86 alors que l'assembleur ( premier langage d'UNIX, 2nd OS) colle à une architecture qui n'est pas x86
- aucun n'est (encore ) sécurisé

Conclusion ?
Avatar de MikeRowSoft MikeRowSoft - Provisoirement toléré https://www.developpez.com
le 19/01/2017 à 14:29
J'ai eu beaucoup de plaisir à lire cette article.

P.S. : Appeller une class "toto" dans le modèle UML nécessite t-il de l'appeller "toto" dans le code source ?
Avatar de Jcpan Jcpan - Membre averti https://www.developpez.com
le 19/01/2017 à 14:39
"the" en php n'existe pas...
Avatar de MikeRowSoft MikeRowSoft - Provisoirement toléré https://www.developpez.com
le 19/01/2017 à 14:46
Tous comme la cohérence if...then...else.
Avatar de temoanatini temoanatini - Membre averti https://www.developpez.com
le 19/01/2017 à 14:55
Intuitivement, je me serais dit que le mot "if" serait le plus répandu.

Seul le C++ a ce mot en 1er (en excluant html, css et SQL).
Avatar de dantes94 dantes94 - Membre du Club https://www.developpez.com
le 19/01/2017 à 15:00
Citation Envoyé par Jcpan Voir le message
"the" en php n'existe pas...
Note en fin d'article 😉

"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."
Avatar de Honomatopic Honomatopic - Membre du Club https://www.developpez.com
le 19/01/2017 à 15:06
Et en PHP, les fonctions isset et empty ne font pas partie ? Ça m'étonne...
Avatar de c4n4r c4n4r - Nouveau membre du Club https://www.developpez.com
le 19/01/2017 à 16:15
c'est vraiment très intéressant.
Avatar de captaindidou captaindidou - Membre actif https://www.developpez.com
le 19/01/2017 à 18:15
Explosé de rires : ça me fait une belle jambe tout cela.
Avatar de Heliogabale Heliogabale - Nouveau Candidat au Club https://www.developpez.com
le 19/01/2017 à 19:02
Sans intérêt
Offres d'emploi IT
Data scientist senior H/F
Safran - Ile de France - Magny-les-Hameaux (Saclay)
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)
Consultant sap finance/controlling H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil