|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
![]() ![]() Développeur Ruby on Rails / iOS et journaliste Inscription : juin 2010 Messages : 1 105 ![]() |
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 Et vous ? Que pensez-vous de la position de Linux Torvalds et de ses arguments ?
|
|
|
512
|
|
|
#2 | |
|
Membre émérite
![]() Inscription : novembre 2004 Messages : 1 560 ![]() |
Citation:
D'ailleurs, ceux qui font des choses horribles en C++ sont généralement des gens qui ont gardé des habitudes du C. |
|
|
|
166
|
|
|
#3 |
|
Membre chevronné
![]() Inscription : mars 2011 Messages : 432 ![]() |
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++
__________________
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. - Antoine de Saint-Exupéry |
|
|
23
|
|
|
#4 |
|
Membre émérite
![]() Inscription : novembre 2004 Messages : 1 560 ![]() |
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. |
|
|
93
|
|
|
#5 | ||
|
Membre Expert
![]() ![]() Inscription : mai 2008 Messages : 806 ![]() |
Encore !??
Citation:
http://www.developpez.net/forums/d75...lds-naime-cpp/ Discussion dont le troisième message est : Citation:
|
||
|
|
100
|
|
|
#6 |
![]() ![]() ![]() |
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
__________________
Le troisième défi Qt ! Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP. Qt : La FAQ : 200 QR symfony : sfDoctrineGuard Pas de question d'ordre technique par MP ! |
|
52
|
|
|
#7 |
|
Membre émérite
![]() Inscription : novembre 2004 Messages : 1 560 ![]() |
Je l'imagine relisant son post, avec en sous-titre le slogan : "Tu t'es vu quand t'as bu ?"
|
|
|
37
|
|
|
#8 |
|
Membre habitué
![]() Inscription : avril 2004 Messages : 94 ![]() |
C'est une querelle de scandinaves...
|
|
|
16
|
|
|
#9 |
|
Membre éclairé
![]() ![]() Jonathan MERCIERInscription : mars 2009 Messages : 336 ![]() |
Toujours est-il, linus n'a pas tord le langage C++ est trop complexe pour ce qu'il est et ceci pour plusieurs raisons:
- le langage est standardisé c'est une bonne chose mais un inconvénient majeure pour l'évolution du langage long et fastidieux - Langage d'une grande complexité devant une apparence simple - n'est plus adapté aux défi moderne Pour ces raisons je suis passé au langage D une vrai merveille, après ces sur il y a moins d'api mais pour ça c'est vous est moins qui les créons .
|
|
420
|
|
|
#10 | |
![]() ![]() Inscription : juin 2003 Messages : 5 384 ![]() |
Dans le genre avis tranché, y'a celui-là aussi qui est célèbre :
Citation:
Les chiens aboient, mais la caravane passe! |
|
|
|
101
|
|
|
#11 |
|
Membre Expert
![]() ![]() |
depuis quand un troll fait une actualité ?
|
|
183
|
|
|
#12 |
|
Membre émérite
![]() ![]() Yann PeniguelConsultant CRM Inscription : septembre 2010 Messages : 446 ![]() |
|
|
34
|
|
|
#13 |
|
Membre éclairé
![]() Étudiant Inscription : novembre 2010 Messages : 232 ![]() |
Linus Torvalds, le nouveau Stallman?
__________________
"L'insanité consiste à répéter la même action dans l'espoir d'aboutir à un résultat différent" Albert Einstein ---------------------- T.O.A.O 6-MarViN |
|
|
29
|
|
|
#14 |
|
Membre chevronné
![]() Développeur informatique Inscription : avril 2009 Messages : 272 ![]() |
|
|
|
22
|
|
|
#15 |
|
Membre régulier
![]() Michel Inscription : décembre 2008 Messages : 52 ![]() |
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). |
|
|
87
|
|
|
#16 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : novembre 2010 Messages : 401 ![]() |
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.
__________________
Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne. Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie. |
|
|
293
|
|
|
#17 |
![]() ![]() Développeur Ruby on Rails / iOS et journaliste Inscription : juin 2010 Messages : 1 105 ![]() |
Bonjour @zeyr2mejetrem
L'URL de l'email est citée dans la source, tu peux vérifier la fiabilité des traductions et le contexte des citations. De plus, nous avons décrit le contexte tel qu'il apparaît, et même mentionné que la question avait quelque peu provoqué une telle réponse. Ressortir cette histoire n'est pas une actualité dans le sens strict du terme, mais notre but n'est pas seulement de suivre les news, mais aussi de lancer des débats et parler de ce qui fait le buzz (même les buzz "dormants" pendant des années) Il est toutefois vrai que cette histoire ressort pour la deuxième fois. Mais la première n'était pas traitée en article en bonne et due forme et n'avait pas été annoncée sur les portails. D'où la décision de remonter ce sujet. Cordialement Idelways |
|
|
77
|
|
|
#18 | |
![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 16 721 ![]() |
Citation:
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
|
151
|
|
|
#19 | ||
|
Expert Confirmé
![]() Emmanuel DelogetInscription : septembre 2007 Messages : 1 542 ![]() |
Citation:
- Langage d'une grande complexité devant une apparence simple Ce sui ne veut rien dire, à moins que tu ne sois capable de définir "défi moderne" Citation:
Pas de standardisation (qu'elle soit de fait ou non, comme Java) = danger pour les utilisateurs. Une entreprise ne peux pas se satisfaire d'un tel état des choses.
__________________
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...] Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi. Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça. Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas. Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas. |
||
|
111
|
|
|
#20 |
|
Membre émérite
![]() Inscription : novembre 2004 Messages : 1 560 ![]() |
Extrait de Wikipedia :
Le magazine PC World nous apprend que « quand on lui a demandé pourquoi il avait appelé son logiciel « git », qui est à peu près l'équivalent de « connard » en argot anglais, Linus Torvalds a répondu « je ne suis qu'un égocentrique, donc j'appelle tous mes projets d'après ma propre personne. D'abord Linux, puis Git. » Ça donne une idée du personnage. :-) |
|
|
81
|
Copyright © 2000-2012 - www.developpez.com