Précédent   Forum des professionnels en informatique > C et C++ > C++
C++ Forum d'entraide technique sur le langage C++. Avant de poster -> F.A.Q C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 08/11/2011, 14h55   #1
Coordinateur publications
 
Avatar de Idelways
 
Développeur Ruby on Rails / iOS et journaliste
Inscription : juin 2010
Messages : 1 105
Détails du profil
Informations professionnelles :
Activité : Développeur Ruby on Rails / iOS et journaliste

Informations forums :
Inscription : juin 2010
Messages : 1 105
Points : 24 337
Points : 24 337
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

Et vous ?

Que pensez-vous de la position de Linux Torvalds et de ses arguments ?
Idelways est déconnecté   Envoyer un message privé Réponse avec citation 512
Vieux 08/11/2011, 15h20   #2
Membre émérite
 
Inscription : novembre 2004
Messages : 1 560
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 560
Points : 849
Points : 849
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.
oodini est actuellement connecté   Envoyer un message privé Réponse avec citation 166
Vieux 08/11/2011, 15h27   #3
Membre chevronné
 
Homme
Inscription : mars 2011
Messages : 432
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 432
Points : 788
Points : 788
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
pyros est déconnecté   Envoyer un message privé Réponse avec citation 23
Vieux 08/11/2011, 15h35   #4
Membre émérite
 
Inscription : novembre 2004
Messages : 1 560
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 560
Points : 849
Points : 849
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.
oodini est actuellement connecté   Envoyer un message privé Réponse avec citation 93
Vieux 08/11/2011, 15h42   #5
Membre Expert
 
Inscription : mai 2008
Messages : 806
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 806
Points : 1 171
Points : 1 171
Encore !??

Citation:
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...
Arzar est déconnecté   Envoyer un message privé Réponse avec citation 100
Vieux 08/11/2011, 15h45   #6
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 16 308
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 16 308
Points : 49 902
Points : 49 902
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
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 !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 52
Vieux 08/11/2011, 15h48   #7
Membre émérite
 
Inscription : novembre 2004
Messages : 1 560
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 560
Points : 849
Points : 849
Je l'imagine relisant son post, avec en sous-titre le slogan : "Tu t'es vu quand t'as bu ?"
oodini est actuellement connecté   Envoyer un message privé Réponse avec citation 37
Vieux 08/11/2011, 16h35   #8
Membre habitué
 
Inscription : avril 2004
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 94
Points : 102
Points : 102
C'est une querelle de scandinaves...
GeantVert13 est déconnecté   Envoyer un message privé Réponse avec citation 16
Vieux 08/11/2011, 16h56   #9
Membre éclairé
 
Jonathan MERCIER
Inscription : mars 2009
Messages : 336
Détails du profil
Informations personnelles :
Nom : Jonathan MERCIER
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mars 2009
Messages : 336
Points : 377
Points : 377
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 .
bioinfornatics est déconnecté   Envoyer un message privé Réponse avec citation 420
Vieux 08/11/2011, 17h02   #10
Rédacteur
 
Inscription : juin 2003
Messages : 5 384
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : juin 2003
Messages : 5 384
Points : 6 234
Points : 6 234
Dans le genre avis tranché, y'a celui-là aussi qui est célèbre :
Citation:
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!
Aurelien.Regat-Barrel est déconnecté   Envoyer un message privé Réponse avec citation 101
Vieux 08/11/2011, 17h09   #11
Membre Expert
 
Avatar de Joel F
 
Homme Joel Falcou
Chercheur en informatique
Inscription : septembre 2002
Messages : 824
Détails du profil
Informations personnelles :
Nom : Homme Joel Falcou
Âge : 32
Localisation : France, Essonne (Île de France)

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

Informations forums :
Inscription : septembre 2002
Messages : 824
Points : 1 650
Points : 1 650
Envoyer un message via MSN à Joel F
depuis quand un troll fait une actualité ?
Joel F est déconnecté   Envoyer un message privé Réponse avec citation 183
Vieux 08/11/2011, 17h11   #12
Membre émérite
 
Homme Yann Peniguel
Consultant CRM
Inscription : septembre 2010
Messages : 446
Détails du profil
Informations personnelles :
Nom : Homme Yann Peniguel
Localisation : France

Informations professionnelles :
Activité : Consultant CRM

Informations forums :
Inscription : septembre 2010
Messages : 446
Points : 959
Points : 959
Citation:
Envoyé par Joel F Voir le message
depuis quand un troll fait une actualité ?
Regarde ta barre d'URL.
__________________
Si vous moinsez, merci de répondre pour argumenter!
Ma présentation
YannPeniguel est déconnecté   Envoyer un message privé Réponse avec citation 34
Vieux 08/11/2011, 17h32   #13
Membre éclairé
 
Étudiant
Inscription : novembre 2010
Messages : 232
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 232
Points : 325
Points : 325
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
6-MarViN est déconnecté   Envoyer un message privé Réponse avec citation 29
Vieux 08/11/2011, 17h36   #14
Membre chevronné
 
Développeur informatique
Inscription : avril 2009
Messages : 272
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2009
Messages : 272
Points : 613
Points : 613
Citation:
Envoyé par 6-MarViN Voir le message
Linus Torvalds, le nouveau Stallman?
C'est pour lancer un deuxième troll?
xelab est déconnecté   Envoyer un message privé Réponse avec citation 22
Vieux 08/11/2011, 17h40   #15
Membre régulier
 
Michel
Inscription : décembre 2008
Messages : 52
Détails du profil
Informations personnelles :
Nom : Michel
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : décembre 2008
Messages : 52
Points : 73
Points : 73
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).
barmic est déconnecté   Envoyer un message privé Réponse avec citation 87
Vieux 08/11/2011, 17h42   #16
Membre Expert
 
Avatar de zeyr2mejetrem
 
Homme
Ingénieur développement logiciels
Inscription : novembre 2010
Messages : 401
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : novembre 2010
Messages : 401
Points : 1 641
Points : 1 641
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.
zeyr2mejetrem est déconnecté   Envoyer un message privé Réponse avec citation 293
Vieux 08/11/2011, 18h00   #17
Coordinateur publications
 
Avatar de Idelways
 
Développeur Ruby on Rails / iOS et journaliste
Inscription : juin 2010
Messages : 1 105
Détails du profil
Informations professionnelles :
Activité : Développeur Ruby on Rails / iOS et journaliste

Informations forums :
Inscription : juin 2010
Messages : 1 105
Points : 24 337
Points : 24 337
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
Idelways est déconnecté   Envoyer un message privé Réponse avec citation 77
Vieux 08/11/2011, 18h04   #18
Responsable .NET
 
Avatar de tomlev
 
Homme Thomas Levesque
Développeur .NET
Inscription : février 2004
Messages : 16 721
Détails du profil
Informations personnelles :
Nom : Homme Thomas Levesque
Âge : 30
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2004
Messages : 16 721
Points : 26 695
Points : 26 695
Citation:
« 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 »
Marrant, c'est ce que je dis toujours... à propos de Visual Basic
__________________

Pas de questions techniques par MP ! Le forum est là pour ça...

Tutoriels : Les markup extensions en WPF - La sérialisation XML avec .NET (Aller plus loin) - Une visite guidée de WPF (traduction)
Projet : Dvp.NET, la librairie .NET open-source des membres de Developpez !

Envie de contribuer à la rubrique .NET ?
tomlev est actuellement connecté   Envoyer un message privé Réponse avec citation 151
Vieux 08/11/2011, 18h06   #19
Expert Confirmé
 
Emmanuel Deloget
Inscription : septembre 2007
Messages : 1 542
Détails du profil
Informations personnelles :
Nom : Emmanuel Deloget
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2007
Messages : 1 542
Points : 2 905
Points : 2 905
Citation:
Envoyé par bioinfornatics Voir le message
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
Comme le C. En même temps, une norme sert à mettre tout le monde d'accord. Considérer comme Digital Mars que le compilateur c'est la norme, ça n'est rien de plus qu'enfermer les utilisateurs chez un vendeur particulier. Le D de DM , étant non standardisé, évolue peut-être plus vite que le C++, mais au prix d'avoir une offre très faible en termes d'outils, tou en réussissant le tour de force de faire en sorte que cette offre soit fractionnée (à la marge, le compilateur D de GNU ne compile pas le même D que MD, et les deux n'évoluent pas à la même vitesse).

- Langage d'une grande complexité devant une apparence simple
Citation:
Envoyé par bioinfornatics Voir le message
- n'est plus adapté aux défi moderne
Ce sui ne veut rien dire, à moins que tu ne sois capable de définir "défi moderne"

Citation:
Envoyé par bioinfornatics Voir le message
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 .
Moins d'API, c'est évident. Le langage est aussi moins compris, ses cas particuliers n'ont pas été étudiés, et personne ne sait ce que le compilateur, dans deux ans, fera du code actuel.

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.
Emmanuel Deloget est déconnecté   Envoyer un message privé Réponse avec citation 111
Vieux 08/11/2011, 18h07   #20
Membre émérite
 
Inscription : novembre 2004
Messages : 1 560
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 560
Points : 849
Points : 849
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. :-)
oodini est actuellement connecté   Envoyer un message privé Réponse avec citation 81
Réponse Actualité déjà publiée
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h25.


 
 
 
 
Partenaires

Hébergement Web