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

C++ Discussion :

Linus Torvalds : "C++ est un langage horrible", en justifiant le choix du langage C pour Git


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent sénior
    Avatar de Idelways
    Homme Profil pro
    Développeur Ruby on Rails / iOS
    Inscrit en
    Juin 2010
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Ruby on Rails / iOS

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 374
    Points : 68 549
    Points
    68 549
    Par défaut Linus Torvalds : "C++ est un langage horrible", en justifiant le choix du langage C pour Git
    Linus Torvalds : "C++ est un langage horrible"
    En justifiant le choix du langage C pour le système de gestion de version Git



    Cet article n'est pas proprement né d'une nouveauté, mais fait écho à une tempête que soulève la découverte d'un email vieux de quatre ans.

    Des « cyberspéléologues » ont sorti des méandres sournois des archives du Net un email fort polémique. Son auteur n'est autre que Linus Torvalds, le célèbre créateur du noyau Linux, tout aussi connu parmi les développeurs pour avoir initié le projet Git, le système de gestion de version (très) à la mode.

    En réponse à un contributeur qui s'interrogeait en 2007 sur les raisons qui ont conduit au choix du C (plutôt que du C++), Torvalds s'en est donner à coeur joie pour avouer son désamour au C++ qu'il qualifie d’« horrible langage ».

    Il est vrai que son interlocuteur n'a pas dû tourner deux fois les doigts sur son clavier avant de qualifier l'argument de portabilité d'un délicat « bullshit » (foutaise), mais l'avis de Torvalds est tellement tranché — sur le langage, mais surtout sur ses développeurs — qu'il semblait attendre une telle opportunité pour l'étaler.

    « C++ est un langage horrible. Ce qui le rend d'autant plus horrible est le fait que beaucoup de programmeurs “substandard” l'utilisent, au point qu'il est nettement plus facile de générer de la merde totale et absolue avec », sic.

    Le choix du langage de Git, avoue le développeur, n'est là que pour « garder les programmeurs C++ loin, c’est en soi, un énorme argument en faveur de l'utilisation du C », surenchérit-il.

    Après un autre paragraphe tout aussi scatologique à l'encontre des développeurs C++, Torvalds passe aux arguments techniques. « C++ entraîne à des choix de conception très très mauvais. Vous commencez invariablement par utiliser les fonctionnalités “sympas” de la librairie standard du langage comme STL, Boost et autres conneries totales et absolues, ça peut aider votre programme, mais ça engendre : »

    Il énumère, d'abord : « la souffrance infinie quand ça ne marche pas ». Sur ce point, il remet en cause la stabilité et la portabilité de la bibliothèque standard et « surtout de Boost ». Puis de s'attaquer à « l'abstraction inefficace des modèles de programmations, où, deux ans plus tard, vous vous rendez compte que certaines abstractions n'étaient pas très efficaces, alors que maintenant, tout votre code dépend de ces beaux modèles objets, et vous ne pouvez corriger tout ça sans réécrire votre application ».

    À se demander si Torvalds n'a pas plutôt une dent contre toute la programmation orientée objet pour les usages de niveau système. « La seule manière de faire du C++ bien, efficace, de niveau système et portable revient à vous limitez à tous les trucs que sont à la base disponible en C », déclare-t-il avec force de conviction.

    Torvalds explique par la suite et en substance que l'efficacité est le premier objectif à atteindre sur des projets tels que Git, et en prime « emmerder les personnes incapables de le comprendre », et de comprendre « les problèmes de bas niveau ».

    Peu accueillant sur son projet, il invite les développeurs désireux d'écrire un CVS en C++ d'aller voir du côté de Monotone, un projet qui s'enorgueillirait d'après lui de décisions de conceptions « reluisantes pour les gars des sciences informatiques », mais qui conduisent finalement à « une pagaille horrible et non-maintenable ».

    Nourrie par une forte intensité dans le verbe et d'une perceptible volonté de blesser, une véritable polémique est née entre les partisans du langage. La rivalité entre les deux camps n'est pas nouvelle, mais l'intervention aussi virulente d'un personnage emblématique ne contribue certainement pas à faire avancer sereinement le débat.

    Il n'empêche que des arguments techniques sont là, et nous vous invitons à y répondre objectivement.



    Source : l'email original de Torvalds

    Voir aussi sur C++ :

    Cours et tutoriels C++.
    La FAQ C++.
    Le Forum C++.

    Et vous ?

    Que pensez-vous de la position de Linux Torvalds et de ses arguments ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Citation Envoyé par Idelways Voir le message
    « C++ est un langage horrible. Ce qui le rend d'autant plus horrible est le fait que beaucoup de programmeurs “substandard” l'utilisent, au point où il est nettement nettement plus facile de générer de la merde totale et absolue avec », sic.
    Tiens, il ne parle pas pas des mauvais développeurs C qui font des choses horribles avec les pointeurs.
    D'ailleurs, ceux qui font des choses horribles en C++ sont généralement des gens qui ont gardé des habitudes du C.

  3. #3
    Membre expérimenté
    Profil pro
    Ingénieur système Linux N3
    Inscrit en
    Juillet 2008
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur système Linux N3

    Informations forums :
    Inscription : Juillet 2008
    Messages : 420
    Points : 1 530
    Points
    1 530
    Par défaut C et pointeurs
    Citation Envoyé par oodini Voir le message
    Tiens, il ne parle pas pas des mauvais développeurs C qui font des choses horribles avec les pointeurs.
    D'ailleurs, ceux qui font des choses horribles en C++ sont généralement des gens qui ont gardé des habitudes du C.
    En même temps, faire de la m..de avec les pointeurs en C, le segmentation fault n'est jamais loin

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 579
    Points : 1 539
    Points
    1 539
    Par défaut
    Son mail est plus une réponse d'une personne enervée campant sur ses positions sans vouloir se justifier qu'une réel argumentation en faveur du C.

    Cela pourrait même être la réponse d'un incompétant dénigrant le C++ pour justifier ses choix technologiques, mais au vue de l'auteur, je pense qu'il avait quand même de bon argument à présenter. J'attend donc de voir comment le débat vas évoluer... De mon coté, je reste très en faveur du C++

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Je pense que c'est l'intervention de quelqu'un de brillant, qui n'a pas supporté de travailler en C++ avec des gens qui n'étaient "que" bons, ou qui tout simplement plaçaient les priorités autrement (performances, maintenabilité, lisibilité...).

    Et qu'explorer leur code non optimisé a dû être pour lui une épreuve.

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 672
    Points : 188 659
    Points
    188 659
    Par défaut
    C'est bien beau de critiquer Monotone, mais, bizarrement, à en croire Wikipedia, ce projet a été lancé deux ans avant Git.

    Voir Linus comme quelqu'un de brillant... Franchement, j'ai du mal (citation de lui dans les commentaires). Beaucoup de mal. J'aurais attendu de lui de se poser un peu, de réfléchir, d'exprimer son avis de manière claire, en montrant pourquoi il lui semble que ce n'est pas attaquable. Ici, il juge un langage sur ses utilisateurs. C'est une manière très correcte de procéder, sans aucun biais, évidemment .

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Je l'imagine relisant son post, avec en sous-titre le slogan : "Tu t'es vu quand t'as bu ?"

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Points : 258
    Points
    258
    Par défaut
    C'est une querelle de scandinaves...

  9. #9
    Membre émérite

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Points : 2 252
    Points
    2 252
    Par défaut
    Encore !??

    mais fait écho à une tempête que soulève la découverte d'un email vieux de quatre ans.
    Cette "découverte" est un serpent de mer qui remonte régulièrement sur Internet depuis 5 ans, y compris sur ce propre forum, par exemple il y a deux ans:

    http://www.developpez.net/forums/d75...lds-naime-cpp/

    Discussion dont le troisième message est :

    Citation Envoyé par fcharton
    Je pense que c'est ça, c'est ancien et célèbre...

  10. #10
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    Dans le genre avis tranché, y'a celui-là aussi qui est célèbre :
    It's terrible. Everyone is using it, and they don't realize how bad it is. And the Linux people will just stick with it and add to it rather than stepping back and saying, 'This is garbage and we should fix it.'
    C'est le créateur d'OpenBSD à propos de Linux. Linus est personnellement visé aussi, et pour le coup il nous a montré comment réagir à ce genre de propos : ignorer.

    Les chiens aboient, mais la caravane passe!

  11. #11
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    depuis quand un troll fait une actualité ?

  12. #12
    Membre éprouvé

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Septembre 2010
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Septembre 2010
    Messages : 450
    Points : 1 072
    Points
    1 072
    Par défaut
    Citation Envoyé par Joel F Voir le message
    depuis quand un troll fait une actualité ?
    Regarde ta barre d'URL.

  13. #13
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Points : 538
    Points
    538
    Par défaut
    Linus Torvalds, le nouveau Stallman?

  14. #14
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 527
    Points : 1 523
    Points
    1 523
    Par défaut
    Citation Envoyé par 6-MarViN Voir le message
    Linus Torvalds, le nouveau Stallman?
    C'est pour lancer un deuxième troll?

  15. #15
    Membre chevronné Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Points : 2 042
    Points
    2 042
    Par défaut
    Hormis le débat sempiternel C/C++ Procédural/Objet Sel/Poivre Fromage/Dessert,
    Je trouve que le fait de ressortir un vieil email privé moisi datant d'il y a 4 ans et sorti de son contexte pour faire de la news, c'est vraiment limite.

    Linus Thorvalds n'est qu'un homme comme les autres.

    Qui nous dit qu'il n'en était pas à son 250ème email sur le thème "Pourquoi Git c'est du C? le C ça pue !!" et qu'il n'a pas pété un câble en renvoyant le bonhomme dans ses 22 en lui disant "Foutez moi la paix avec votre langage de merde, vous voulez que je vous dise, Git est en C pour pas voir vos tronches dans le projet car vous me les brisez menu !!"

    Cela n'est jamais arrivé à personne de sortir un mail salé avec une argumentation un peu bancale tout simplement parce que le gars de l'autre côté vous casse les pieds depuis longtemps et que vous avez les nerfs ?

    La seule différence, c'est que parce qu'il s'appelle Linus Thorvald on publie son mail 4 ans plus tard.

    Ca c'est de la news de paparazzi et je dois avouer que je suis assez déçu de voir ça sur ce site que j'estime.

  16. #16
    Membre actif
    Homme Profil pro
    Développeur
    Inscrit en
    Décembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 101
    Points : 256
    Points
    256
    Par défaut
    Linus est quelqu'un de brillant, mais c'est pas parce qu'on est un dieux en système d'exploitation que l'on maîtrise l'ensemble des domaines de l'informatique.

    Je ne pense pas qu'il est un jour regarder d'autres langages que le C, le perl et le bash (et peut être l'assembleur) sans un regard dédénieux avant de chercher à les comprendre.

    Sa parole lorsque l'on parle de langage n'a pas plus de poids que celle de n'importe quel programmeur.

    C'est un Homme comme les autres avec défaut et qualité, il a une approche très ouverte des licences, mais n'a absolument pas regardé s'il pouvait contribuer à mercurial avant de faire git parce que le python c'est lent et que pour lui mercurial aurait mis plus de 7 ans à indexer l'ensemble de l'historique du noyau.

    Se bloquer autant sur le langage montre, AMHA, qu'il n'a que de léger rudiment d'algorithmique et de complexité (shinken prouve chaque jour que le langage ne prévaut pas sur l'algorithmique lorsque l'on parle de performance).

    Ensuite pour Linus les deux premières qualités en programmation sont la performance et la stabilité. Il en résulte qu'aujourd'hui très rare sont les développeurs à être capable de maintenir le code qui gère les TTY dans le noyau linux.

    De la même manière la sécurité dans le noyau a relativement peu d'importance à ses yeux (alors que git possède des mécanismes de sécurité puissants).

  17. #17
    Membre averti Avatar de guigz2000
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 100
    Points : 336
    Points
    336
    Par défaut
    Chacun ses gouts..Perso,je prefere largement C++.Il y a bien des trucs dans le language que j'aime pas trop (les flux principalement),mais le fait de pouvoir effectuer de la programmation objet et procedurale est indéniablement un plus(++).

    Quand je faisais du C, je finissais par recréer de la programmation objet en utilisant des structures et des modules.Ca marchais mais qu'est ce que c'etait penible!

    De manière générale,pour moi,le language est assez peu important et il s'agit donc d'un faux débat.Je prends ce qui est disponible ,ce qu'on me demande d'utiliser, ou ce qui facilite le plus la réalisation du projet(pour un OS,ca serait definitivement C,car il y a besoin d'etre très proche du hardware. Maintenant pour n'importe quoi de plus haut niveau,qui manipule de structures de donnée un peu complexes ou mouvantes,c'est definitivement C++(vive le polymorphisme).

    Le seul défaut de ces languages est le manque d'un framework unifié,complet(GUI/fichiers/Multimedia/etc...),standard, et portable ,genre wxwidgets, qui serait intègré au langage.Ok il y en a beaucoups a coté,certes,mais d'une part on se retrouve a se demander quoi utiliser,d'autre part on se retrouve obligé d'apprendre plusieurs frameworks,souvent différents a chaque nouveau projet....Perte de temps et d'energie...

  18. #18
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 136
    Points : 89
    Points
    89
    Par défaut
    J'aime beaucoup le c et quand on m'a dit "le c++ est une surcouche objet du c", je me suis dit que ça devait être vraiment genial. Ensuite mes profs m'en ont parlé, j'ai regardé un peu par moi-même et c'est à donner des boutons. Autant les codes sont souvent elegant parfois astucieux autant les codes c++ sont des champs de batailles de brutasses complexes et imcompréhensibles. Après c'est un langage très utilisé donc il doit y avoir une masse de librairies pour faire un peu ce qu'on veut mais ça reste quand même moche. Je trouve que des langages comme Python ou Ruby sont des heritiers "objets" du c beaucoup plus dignes que le c++ (niveau performance, niveau elegance donc niveau lisibilité donc niveau maintenance, niveau conception).

  19. #19
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 009
    Points
    5 009
    Par défaut
    Il n'empêche que des arguments techniques sont là, et nous vous invitons à y répondre objectivement.
    les arguments avancés par mister "je me fous de la gueule du monde" torvald sont grosso modo les même pour tous les langages, si on laisse des incompétents faire, ça sera la cata, si on fait des mauvais choix, ça sera la cata, etc. donc viser seulement le c++ montre juste une étroitesse de réflexion hallucinante.

    après si il se considère un incompétent en c++, ça le regarde, mais qu'il ne mette pas tout le monde dans le même panier que lui.

    finalement ce monsieur, même si il a apporté beaucoup, arrive à poster de telles énormités que je me demande toujours comment il peut ne pas s'être décrédibilisé avec le temps, c'est un mystère.

  20. #20
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 082
    Points
    8 082
    Par défaut
    Citation Envoyé par ernestrenan Voir le message
    Python ou Ruby sont des heritiers "objets" du c beaucoup plus dignes que le c++ (niveau performance, niveau elegance donc niveau lisibilité donc niveau maintenance, niveau conception).
    Python ou Ruby plus performants que C++?
    Soit j'ai mal compris soit... Lol?

Discussions similaires

  1. Réponses: 95
    Dernier message: 29/03/2013, 08h14
  2. Réponses: 0
    Dernier message: 08/11/2011, 14h55
  3. Linus Torvalds n'aime pas le C++
    Par epsilon68 dans le forum Contribuez
    Réponses: 34
    Dernier message: 09/06/2009, 16h57

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