IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

915PARTAGES

11  1 
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 ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de c4n4r
Nouveau membre du Club https://www.developpez.com
Le 19/01/2017 à 16:15
c'est vraiment très intéressant.
9  1 
Avatar de
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."
4  0 
Avatar de GilbertLatranche
Membre averti https://www.developpez.com
Le 20/01/2017 à 12:44
Avant de lire l'article, j'ai pensé "Chouette, voir les tendances de nommage des variables, fonctions...ça peut être intéressant"...

...s'il avait exclu les mots-clés de son processus...

Du coup, quelle est l'utilité de ce truc ?
2  0 
Avatar de
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 ?
1  0 
Avatar de
https://www.developpez.com
Le 19/01/2017 à 14:46
Tous comme la cohérence if...then...else.
1  0 
Avatar de 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).
1  0 
Avatar de
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...
1  0 
Avatar de bringer
Membre habitué https://www.developpez.com
Le 19/01/2017 à 22:38
bonjour,

je ne suis pas tout à fait d'accord avec le manque d'intérêt de l'article, car par exemple, pour les boites info avec le service de maintenance qui va bien, grâce à cette étude, ils pourront calculer la probabilité d'effacement des touches les plus concernées et ainsi mettre en place une maintenance préventive pour optimiser les rendements en changeant les touches ciblées avant qu'elles ne soient usées.
Bien sûr, tout cela sur les temps de disponibilité de la machine pour ne pas perturber la prod... Elle pas belle cette étude finalement ?

Bon, ok, je sorts !
2  1 
Avatar de Aiekick
Membre extrêmement actif https://www.developpez.com
Le 20/01/2017 à 16:55
vu que java a import je m'attendait pour c++ a avoir #include mais non c'est le if, et c'est parce que ils ont précisé le fichier d'implementation fichier.cpp.

il aurait pu considirer le c++ complet avec le .h et on aurait comme java le #include, bizarre comme facon de compter.

parce que on devrait avoir le if partout a ce compte la.
1  0 
Avatar de JackIsJack
Membre éclairé https://www.developpez.com
Le 19/01/2017 à 20:53
Super la démarche, mais le top 20 me semble inintéressant (cool... la syntaxe de base du langage...).
Il faudrait voir les mots qui viennent après pour déterminer la vraie personnalité des langages.
1  1