+ Répondre à la discussion Actualité déjà publiée
Page 1 sur 2 12 DernièreDernière
  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Consultant
    Inscrit en
    juillet 2013
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2013
    Messages : 1 196
    Points : 30 481
    Points
    30 481
    Billets dans le blog
    2

    Par défaut Quels sont les mots les plus utilisés dans les différents langages ?

    Les mots les plus utilisés dans les différents langages
    JavaScript, CSS, HTML, PHP, Ruby, C++, C#, Scala, Go, Python, Perl, Java, Perl, Lua et SQL

    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 ?
    Cdlt!
    M.K

  2. #2
    Membre éprouvé Avatar de marsupial
    Homme Profil pro
    DevOp, Tech leader
    Inscrit en
    mars 2014
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : DevOp, Tech leader

    Informations forums :
    Inscription : mars 2014
    Messages : 475
    Points : 956
    Points
    956

    Par défaut

    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 ?
    Repeat after me
    Le monsieur lutte pour la défense des libertés individuelles et collectives

    Repeat after me...

  3. #3
    Provisoirement toléré Avatar de MikeRowSoft
    Homme Profil pro
    Sans profession
    Inscrit en
    avril 2013
    Messages
    976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Sans profession

    Informations forums :
    Inscription : avril 2013
    Messages : 976
    Points : 0
    Points
    0

    Par défaut

    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 ?

  4. #4
    Membre averti
    Avatar de Jcpan
    Inscrit en
    août 2008
    Messages
    526
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 526
    Points : 443
    Points
    443

    Par défaut the

    "the" en php n'existe pas...

  5. #5
    Provisoirement toléré Avatar de MikeRowSoft
    Homme Profil pro
    Sans profession
    Inscrit en
    avril 2013
    Messages
    976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Sans profession

    Informations forums :
    Inscription : avril 2013
    Messages : 976
    Points : 0
    Points
    0

    Par défaut

    Tous comme la cohérence if...then...else.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    mai 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 190
    Points : 381
    Points
    381

    Par défaut

    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).

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2016
    Messages : 9
    Points : 29
    Points
    29

    Par défaut

    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."

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    janvier 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : janvier 2015
    Messages : 47
    Points : 58
    Points
    58

    Par défaut

    Et en PHP, les fonctions isset et empty ne font pas partie ? Ça m'étonne...

  9. #9
    Membre à l'essai
    Homme Profil pro
    Etudiant en Dev
    Inscrit en
    mai 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Dev
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2013
    Messages : 14
    Points : 24
    Points
    24

    Par défaut

    c'est vraiment très intéressant.

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    août 2008
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 109
    Points : 291
    Points
    291

    Par défaut

    Explosé de rires : ça me fait une belle jambe tout cela.

  11. #11
    Nouveau membre du Club Avatar de Heliogabale
    Profil pro
    Inscrit en
    mai 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations forums :
    Inscription : mai 2008
    Messages : 52
    Points : 33
    Points
    33

    Par défaut

    Sans intérêt

  12. #12
    Membre habitué

    Profil pro
    Inscrit en
    mai 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2003
    Messages : 71
    Points : 133
    Points
    133
    Billets dans le blog
    1

    Par défaut ok

    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.

  13. #13
    Membre éprouvé Avatar de marsupial
    Homme Profil pro
    DevOp, Tech leader
    Inscrit en
    mars 2014
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : DevOp, Tech leader

    Informations forums :
    Inscription : mars 2014
    Messages : 475
    Points : 956
    Points
    956

    Par défaut

    Avec tout le repect que je vous dois de part vos qualités, il s'agit d'un inventaire indispensable pour que vos petits codes ne se fassent pas hacker.
    voir mon premier post de ce fil de discussion
    Vous pouvez tous mettre vos librairies à jour et recompiler. Merci
    Repeat after me
    Le monsieur lutte pour la défense des libertés individuelles et collectives

    Repeat after me...

  14. #14
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2014
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2014
    Messages : 91
    Points : 150
    Points
    150

    Par défaut

    un truc marrant a noter est que en c++, la majorité du top 20 est en fait valide en C (a part this), je ne sais pas si il faut s'en rejoir (compatibilité..) ou en pleurer (utiliser c++ pour faire du c (ou du "c with classes"))

  15. #15
    Membre régulier Avatar de bringer
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2009
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : juin 2009
    Messages : 107
    Points : 115
    Points
    115

    Par défaut

    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 !

  16. #16
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2013
    Messages : 19
    Points : 54
    Points
    54

    Par défaut

    On dirait que les devs C# font plus de commentaire que de code.
    summary en premier c'est très étonnant !

    Bon sinon je suis d'accord il n'y a pas beaucoup d'interet. Le mec a du se casse l'oreille à pondre son algo pour trouver ... ce à quoi tout le monde s'attendait quoi

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    mars 2012
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2012
    Messages : 101
    Points : 207
    Points
    207

    Par défaut

    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 ?

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2016
    Messages : 9
    Points : 29
    Points
    29

    Par défaut

    Citation Envoyé par Orionos Voir le message
    On dirait que les devs C# font plus de commentaire que de code.
    summary en premier c'est très étonnant !

    Bon sinon je suis d'accord il n'y a pas beaucoup d'interet. Le mec a du se casse l'oreille à pondre son algo pour trouver ... ce à quoi tout le monde s'attendait quoi
    ça fais sens si on pars du principe que chaque méthode du framework a un summary 😁

  19. #19
    Membre expérimenté
    Homme Profil pro
    Consultant Ingenierie mécanique
    Inscrit en
    mars 2006
    Messages
    627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant Ingenierie mécanique
    Secteur : Transports

    Informations forums :
    Inscription : mars 2006
    Messages : 627
    Points : 1 331
    Points
    1 331

    Par défaut

    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.

  20. #20
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 1 625
    Points : 4 083
    Points
    4 083

    Par défaut

    Citation Envoyé par Aiekick Voir le message
    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.
    C'est quand même très bizarre d'avoir "import" comme mot le plus utilisé.
    J'imagine que ça veut dire qu'en Java les fichiers sont très courts. Ou c'est dû aux commentaires.

    De même "define" dans le top 3 en C++
    J'espère que c'est dû à des commentaires et pas des gens qui ont oubliés qu'on pouvait remplacer avantageusement les "#define" par des const / constexpr / fonctions inline / templates / using dans 95% des cas.

Discussions similaires

  1. Quels sont les CMS et les langages client et serveur les plus utilisés par les sites web ?
    Par Michael Guilloux dans le forum Général Conception Web
    Réponses: 13
    Dernier message: 15/09/2016, 19h21
  2. Réponses: 4
    Dernier message: 18/09/2011, 15h50
  3. Réponses: 16
    Dernier message: 24/12/2009, 20h44
  4. Réponses: 6
    Dernier message: 19/10/2008, 08h56
  5. les é dans les bases de données et dans les formulaires
    Par cyril3d dans le forum Formulaires
    Réponses: 15
    Dernier message: 15/04/2008, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo