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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

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


Sujet :

Langages de programmation

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 888
    Points : 87 206
    Points
    87 206
    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 ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Expert éminent Avatar de marsupial
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2014
    Messages
    1 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2014
    Messages : 1 760
    Points : 7 183
    Points
    7 183
    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
    MikeRowSoft
    Invité(e)
    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 confirmé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Points : 475
    Points
    475
    Par défaut the
    "the" en php n'existe pas...

  5. #5
    MikeRowSoft
    Invité(e)
    Par défaut
    Tous comme la cohérence if...then...else.

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Points : 395
    Points
    395
    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
    Invité
    Invité(e)
    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
    Invité
    Invité(e)
    Par défaut
    Et en PHP, les fonctions isset et empty ne font pas partie ? Ça m'étonne...

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Etudiant en Dev
    Inscrit en
    Mai 2013
    Messages
    16
    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 : 16
    Points : 28
    Points
    28
    Par défaut
    c'est vraiment très intéressant.

  10. #10
    Inactif  
    Profil pro
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 620
    Points
    620
    Par défaut
    Explosé de rires : ça me fait une belle jambe tout cela.

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Points : 1
    Points
    1
    Par défaut
    Sans intérêt

  12. #12
    Membre éclairé

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

    Informations forums :
    Inscription : Mai 2003
    Messages : 311
    Points : 739
    Points
    739
    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
    Expert éminent Avatar de marsupial
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2014
    Messages
    1 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2014
    Messages : 1 760
    Points : 7 183
    Points
    7 183
    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
    Invité
    Invité(e)
    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 habitué Avatar de bringer
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    122
    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 : 122
    Points : 137
    Points
    137
    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 habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    39
    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 : 39
    Points : 130
    Points
    130
    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 averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 145
    Points : 392
    Points
    392
    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
    Invité
    Invité(e)
    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 extrêmement actif
    Homme Profil pro
    Graphic Programmer
    Inscrit en
    Mars 2006
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Graphic Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 545
    Points : 3 941
    Points
    3 941
    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 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    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, 18h21
  2. Réponses: 4
    Dernier message: 18/09/2011, 14h50
  3. Réponses: 16
    Dernier message: 24/12/2009, 19h44
  4. Réponses: 6
    Dernier message: 19/10/2008, 07h56
  5. Réponses: 15
    Dernier message: 15/04/2008, 14h25

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