Journal Le langage C serait redevenu le langage le plus utilisé

Posté par  .
Étiquettes : aucune
13
8
avr.
2010
Le C reprend le dessus sur tous les autres langages, le Java en perte de vitesse constante, python avec une progression inverse à la régression de perl, et le langage Go de Google explose.

Le tout selon l'étude TIOBE:
[http://www.tiobe.com/index.php/content/paperinfo/tpci/index.(...)]

Mais si on regarde de plus près, c'est pourtant à prendre avec des pincettes car l'étude est:
- d'une part effectuée d'après leur communauté et donc en relation avec leurs solutions commerciales. S'ils vendent des produits pour une qualité de code, un outil gratuit populaire ou fourni avec la sdk du langage entraîne donc une baisse des stats chez eux pour ce même langage.
- d'autre part sur des stats des moteurs de recherche ?!?. Go en croissance folle ? Eh oui, plein de news et tutoriels sont sortis à l'occasion du lancement. Cela ne veut pourtant pas dire que c'est adopté massivement sur le long terme.
- aussi selon les stats effectuées sur youtube... remarque analogue à la précédente.
Par contre, pas de stats effectuées directement auprès de sourceforge, github et analogues.

Pourtant l'évolution de perl vs python reflète ce qui se joue (ou dit se produire!) du coté des sysadmins.

Et vous, avec ce que vous avez entre les mains (*), vous en pensez quoi ?


(*) je parle des environnements de développement !
  • # Foutaises !

    Posté par  (Mastodon) . Évalué à 10.

    J'ai du mal à voir comment ce style de résultat pourrait ne pas être farfelus.

    Avec des millions de codeurs de part le monde, comment faire des stats dessus ? Quel échantillon serait représentatif du geek Australien, de la startup Indienne ou de l'entreprise de gestion Anglaise ?

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Foutaises !

      Posté par  . Évalué à 7.

      Il y a [1], qui porte sur des projets open source uniquement. Le graphique ne contredit pas les résultats de TIOBE; C et C++ reprennent de la vitesse après une longue chute; inversement pour Java et C#; Perl n'arrête pas de tomber, Python est passé devant PHP et Ruby reste derrière Perl.

      [1] http://www.ohloh.net/languages/compare?measure=contributors&(...)
    • [^] # Re: Foutaises !

      Posté par  . Évalué à 6.

      Un article de Wikipédia (en) parle justement des méthodes proposées pour mesurer la popularité des langages [http://en.wikipedia.org/wiki/Measuring_programming_language_(...)]

      Parmi les références, il y a le site LangPop [http://langpop.com/] qui essaie de mesurer la popularité selon divers moyens comme le nombre de recherches sur Yahoo, l'offre de jobs sur Craiglist, le nombre de livres vendus chez Powell ou encore les actualités Reddit, le nombre d'utilisateurs IRC...

      Ca reste toujours partiel mais peut-être plus large et mieux décrit. En revanche, la timeline proposée ne semble pas à première vue très précise et il est difficile de coroborer les résultats de Tiobe (notamment par rapport à Go, non intégré pour le moment).
    • [^] # Re: Foutaises !

      Posté par  (site web personnel) . Évalué à 8.

      :: Avec des millions de codeurs de part le monde, comment faire des stats dessus ?

      Comment peux-tu dire des choses pareilles ? S'ils arrivent à donner 5 chiffres significatifs pour les résultats (18.058%), c'est que ça doit être hyper précis comme mesure, non ?

      (humour inside)
      • [^] # Re: Foutaises !

        Posté par  . Évalué à 10.

        Non mais il faut etre realiste aussi, si ils codent avec autre chose que C ou ASM, c'est pas des vrais codeurs, a la limite le C++, mais le C et l'ASM il y a que ca de vrai, le reste c'est des poseurs !

        (Sur ce je vais faire degonfler mes chevilles --> [] )
    • [^] # Re: Foutaises !

      Posté par  (site web personnel) . Évalué à 3.

      > Avec des millions de codeurs de part le monde, comment faire des stats dessus ?

      Il y a aussi quelques millions de français, et on a bien des sondages pour chaque élection.

      Ça ne veut pas dire que ce soit super précis, mais pour ceux que ça intéresse, ça reste toujours mieux que rien.
  • # Cool !

    Posté par  (site web personnel) . Évalué à 10.

    C'est chouette comme graphiques !

    Java : un beau langage, une l'usine à gaz de bibliothèque standard. Adieu DocumentBuilderFactory.getInstance().newDocumentBuilder().buildDocument(), et bon débarras !

    Perl : un langage qui a encore des « sous-routines » en ersatz de fonctions et des caractères spéciaux pour identifier les types de variables mérite de crever comme son copain BASIC. Sans regrets.
    • [^] # Re: Cool !

      Posté par  . Évalué à 7.

      Oui enfin, la JVM c'est pas non plus de la merde, hein :)
      Le jour ou les interpreteurs pythons etc en seront au même point, on pourra se rejouire en effet.

      De même, hum, le typage, java a ses défauts mais au moins le typage est fort.

      Quand à perl, ça reste pour beaucoup un bash++, et adapté pour cet usage
      • [^] # Re: Cool !

        Posté par  . Évalué à 8.

        De même, hum, le typage, java a ses défauts mais au moins le typage est fort.

        Fort de café ?
        • [^] # Re: Cool !

          Posté par  (site web personnel) . Évalué à 1.

          Le typage en Java, même si je l'admet est moyen, reste un typage statique.
          Si on veut la même chose en python ... ben c'est pas possible (ou pas facilement, je suppose qu'il y a sûrement une extension qui le permet).
          • [^] # Re: Cool !

            Posté par  . Évalué à 5.

            Si tu veux la même chose en Python, le conseil habituellement donné est de changer de langage :-)
            (sûr, tu pourrais t'amuser à typer statiquement toutes tes fonctions à coups de isinstance(), ou bien peut-être utiliser Cython et ses annotations... mais à quoi bon ? si un aspect fondamental du langage te déplaît, ce serait masochiste de vouloir l'utiliser)
            • [^] # Re: Cool !

              Posté par  (site web personnel) . Évalué à 4.

              tu pourrais t'amuser à typer statiquement toutes tes fonctions à coups de isinstance()

              Je ne vois pas comment isinstance permet de faire du typage statique… Ça va péter au runtime il me semble.
              • [^] # Re: Cool !

                Posté par  . Évalué à 2.

                Certes, oui. Si par typage statique tu veux dire "à la compilation", alors ça ne remplit pas le contrat. J'entendais plutôt ça comme "vérification systématique des types autorisés".
      • [^] # Re: Cool !

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        De même, hum, le typage, java a ses défauts mais au moins le typage est fort.

        Le typage fort, pour développer une nouvelle application, c'est plutôt contraignant. Par contre, pour reprendre du code, c'est carrément mieux : tu sais forcément ce que tu manipules, même quand le codeur précédent a codé / nommé / conçu comme un sac (note : c'est pas forcément plus facile de reprendre un soft écrit en Java, mais c'est plus facile de comprendre comment il fonctionne, aussi merdique soit-il).
        • [^] # Re: Cool !

          Posté par  . Évalué à 1.

          C'est justement le but d'être contraignant, ça t'empeche d'écrire des anneries qui finiront par planter :).
      • [^] # Re: Cool !

        Posté par  . Évalué à 10.

        Perl est adapte a une chose : la cryptographie.

        Tu ecris ton code en perl, et tu sais que seul toi (et encore) arrivera a comprendre ce qu'il fait
      • [^] # Re: Cool !

        Posté par  . Évalué à 3.

        De même, hum, le typage, java a ses défauts mais au moins le typage est fort.
        Python c'est du typage fort (dynamique).

        Le jour ou les interpreteurs pythons etc en seront au même point, on pourra se rejouire en effet.
        Comme dit plus haut Python à un typage dynamique pas besoins de s'appeler Turing pour se douter que cette propriété condamne les interpréteurs Python à ne jamais arriver au niveau de performance de la JVM.
    • [^] # Re: Cool !

      Posté par  . Évalué à 6.


      Java : un beau langage, une l'usine à gaz de bibliothèque standard. Adieu DocumentBuilderFactory.getInstance().newDocumentBuilder().buildDocument(), et bon débarras !

      J'ai vraiment du mal à comprendre toute cette aversion envers Java.

      Présenter un code horrible en rejetant la faute sur le langage, je trouve ca déplacé.
      Tu peux faire pareil en C++ :
      DocumentBuilderFactory::getInstance()->newDocumentBuilder()->buildDocument()
      ou en C :
      buildDocument(newDocumentBuilder(DocumentBuilderFactory_getInstance()))

      Java est un des langages les plus utilisés donc on trouve de tout, des programmes codés avec les pieds, des trucs over-engineerés, mais il y a aussi beaucoup de code propre.

      Si il y a à critiquer, c'est plus au niveau du temps de démarrage de la JVM standard ou de la laideur/non intégration à l'environnement de bureau du toolkit graphique par défaut.
      Ca explique surement pourquoi il est beaucoup utilisé côté serveur et peu pour des applications graphiques.

      Un peu de recul et de pragmatisme ne peut pas faire de mal.
      • [^] # Re: Cool !

        Posté par  . Évalué à 0.

        bah il dit que le langage est beau et que le pb c est la bibliothèque standard ...
        • [^] # Re: Cool !

          Posté par  . Évalué à 2.

          Je ne vois pas où dans la bibliothèque standard on t'oblige à faire des trucs longs comme ca ??
          Allez si, peut-être System.out.println, même si ca ne me choque pas tant que ca
          • [^] # Re: Cool !

            Posté par  . Évalué à 2.

            Si tu fais tu XML avec Java, c'est typiquement ce que tu fais pour avoir le DOM.

            « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Cool !

      Posté par  (site web personnel) . Évalué à -3.

      Perl explose Python, Ruby et Java en terme de performances ! Tant CPU que consommation mémoire, tout en étant bien plus accessible que le C.

      Après, c'est sûr, si on veut un programme vraiment performant, ya que le C (et ASM).
      • [^] # Re: Cool !

        Posté par  . Évalué à 1.

        Les benchmarks valent ce qu'ils valent, mais ils ont pas l'air du tout d'accord avec toi :
        http://shootout.alioth.debian.org/u32q/benchmark.php?test=al(...)
        • [^] # Re: Cool !

          Posté par  . Évalué à 1.

          Pour la mémoire, perl est mieux :-)

          Envoyé depuis mon lapin.

          • [^] # Re: Cool !

            Posté par  . Évalué à 1.

            Pas en Mégaoctet-seconde ;)

            Si Perl utilise 2 fois moins de mémoire pendant 100 fois plus de temps, Java utilise 50 fois moins de mémoire ;)

            Dans le benchmark "fasta":
            - Perl consome 2,124KB pendant 342.60 secondes, soit 727682,4 KB-seconde
            - Java consome 12,808KB pendant 7.75 secondes, soit 99262 KB-seconde
            Donc Java consome 7 fois moins de mémoire sur ce benchmark.
  • # Et lisp ?!

    Posté par  . Évalué à 8.

    Lisp n'est même pas listé dans les 100 langages les plus utilisés! Cela voudrait dire qu'emacs est bientôt mort!
  • # Pour github

    Posté par  (site web personnel) . Évalué à 5.

    > Par contre, pas de stats effectuées directement auprès de sourceforge, github et analogues.

    Pour ceux qui sont intéressés par les stats de github, la page http://github.com/languages donne le classement des langages pour les dépôts github. Ça représente 280 000 dépôts (380 000 en comptant les forks) d'après http://github.com/blog/620-committing-like-crazy . Le podium est alors composé de Ruby, Javascript et Perl.

    Je n'ai pas trouvé les stats de bitbucket, mais j'imagine que Python doit y être le grand gagnant.
  • # Comparaison

    Posté par  . Évalué à 7.

    Difficile de comparer l'utilisation de langages.

    C'est en nombre de ligne de code ? Parce que python par exemple est plus verbeux que perl de la même manière java est plus verbeux que le C.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: Comparaison

      Posté par  . Évalué à 1.

      J'imagine que c'est en unité utilisateur... J'utilise un langage, donc je rajoute 1 à la liste des personnes qui utilisent ce langage.

      En gros, je code en C, je compte pour 1.
      Je code 60% en C++, 30% en python et 10% en php => je participe pour 1 pour ces trois langages.
      Oui je sais c'est foireux mais mettre en place la proportionnelle serait encore plus compliqué à évaluer.
  • # Tu m'Elton, John !

    Posté par  . Évalué à 9.

    et le langage Go de Google explose.
    Vu que Go passe de 0 à 2 X développeurs, il a forcément une croissance infinie !
    • [^] # Re: Tu m'Elton, John !

      Posté par  . Évalué à 2.

      Pas du tout : Une recherche google sur go me retourne pres de 7 milliards de réponses (en anglais et en français seulement). Alors que Java me retourne seulement 200 millions de pages.

      Comment ça mon critère n'est pas pertinent à cause du fait que go soit un verbe courant en anglais ?
  • # Le python avec une progression inverse à la régression de perl,

    Posté par  (site web personnel) . Évalué à 2.

    Pourtant Python perd une place et Perl en gagne une d'après le graphe. C'était ironique ta phrase au fait ?

    Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/

  • # Normal

    Posté par  . Évalué à 8.

    hier j'ai codé un truc en C
    • [^] # Re: Normal

      Posté par  . Évalué à -10.

      Ah parce que tu crois que c'est toi tout seul qui a changé à ce point les stats?

      Mais de quelle planète tu débarques?!
      J'en ai un peu marre de ces commentaires débiles qu'on trouve dans des journaux traitant de sujets sérieux. En rigolant sur ce sujet, tu laisses penser que c'est la minute de détente et après on revient dans les choses importantes, alors que là clairement on devrait dire que ces stats sont réellement non pertinentes même sans blaguer.

      Mais non, toi tu veux la ramener en disant que t'as augmenté les stats.

      Et ben je vais te décevoir:
      Je sais de source sûr que Chuck Norris a écrit un "Hello World" en C AVANT-hier! Ça a compilé tellement vite que la rotation de la Terre a ralenti de 0.0001°/s!!

      Et attends-moi! J'arrive aussi!
      ---------------------->[ ]
  • # Victoire de la communauté scientifique non-informaticienne!

    Posté par  . Évalué à 3.

    Vous aurez tous noté la présence de Matlab dans le classemement, ce langage Turing-complet largement sous-estimé par les ingénieurs informatiques.

    Je ne comprends toujours pas pourquoi je ne peux pas faire mes sites webs dynamiques avec des scripts Matlab.

    Je me mettrai au module Apache dès que j'aurai fini de porter le noyau linux en Matlab.

    (Oui, c'est moi qui fait monter les stats de Matlab...)
    • [^] # Re: Victoire de la communauté scientifique non-informaticienne!

      Posté par  (site web personnel) . Évalué à 2.

      Si tu aimes les scripts des langages pour scientifiques, je te conseille un bien meilleur langage tout aussi Turing-complet : Ltac, le langage des tactiques de Coq. Dynamiquement typé, à la syntaxe abstruse et à la sémantique pas clairement définie.

      Une question en l'air, les langages d'assistant à la preuve sont-ils vraiment des langages de programmation ? Ils ne sont pas Turing-complet, la faute à Gödel : va coder un interpréteur d'un tel langage dans lui-même...
  • # Sceptique

    Posté par  (site web personnel) . Évalué à 1.

    Vu la tripotée de gens qui font du flash ou du flex, je suis surpris de voir l'actionscript à l'avant-dernière place et avec un score risible !
    • [^] # Re: Sceptique

      Posté par  . Évalué à 2.

      Mais on peut faire du Flash sans toucher une ligne de code, juste en mode cliquodrôme. Si les infographistes qui ne font que du Flash comme ça ne sont pas comptés, c'est pas si étonnant.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.