Salut!
J'approuve le point d'interrogation, car bien programmer peut être un art.Citation:
le côté art en moins ?
Jean-Marc Blanc
Version imprimable
Salut!
J'approuve le point d'interrogation, car bien programmer peut être un art.Citation:
le côté art en moins ?
Jean-Marc Blanc
Torvalds n'a jamais été un dieu de la communication. Sa querelle avec Andrew Tannenbaum à propos de Minix, ses propos sur la GPL v3, sur SVN, sur Gnome ou sur Sun ont déjà défrayé la chronique. Personne n'est parfait...
Ce que je vais dire ne va ptet pas vous plaire mais c'est pas grave ;)
Je suis assez d'accord avec lui. C++ est un langage formidable, mais il est difficile. Du coup j'ai vu souvent du code merdique fait par gens qui pensaient qu'avec C++ leur application serait plus rapide alors qu'ils auraient codé 3x plus vite en C# ou en java et auraient pu maintenir leur application.
Quand je dis que C++ est difficile, c'est parce qu'il cumule les difficultés du C (pointeurs, bas niveau, static ...) et une librairie standard de plus en plus immense.
En guise de modération de mon propos, je dirais que je préfère C++ à C car ses possibilités sont plus larges pour une perte de performance minime (en fait inexistante sur la plupart des cas)
et ils sont où les arguments techniques ?
de mon point de vue, Torvalds ne sait simplement pas programmer en C++ car il ne comprend rien à la logique objet
dénigrer un langage objet de par son ignorance est juste petit et mesquin mais connaissant Torvalds, c'est pas étonnant
oui, cela commence à devenir lassant. Au point que je me demande si toutes ces réflexions ne visent rien d'autre que faire de la com'.
Je suis un peu du côté de Linus. Le C++ est très puissant, mais donne la possibilité de faire des choses immondes. Au même titre que Php, c'est simplement des mathématiques : il y a plus de personnes mauvaises et incompétentes (et encore je ne parle pas de l'offshore :aie:) que de personnes capables d'écrire du code simple et lisible.
Donc mathématiquement : on a en moyenne beaucoup plus de code pourri et très dur à lire en C++ (= comme en Php), qu'on a du bon code clair et lisible.
Donc il y est allé un peu fort, mais je comprends son point de vue : qui peut le plus peut le moins, et avec les développeurs d'aujourd'hui on a souvent plus de moins que plus de plus.
...
Quoi je suis pas clair ? :D
Mathématiquement, si la plupart des dévelopeurs faisaient du C, C serait le language où il y aurait le plus de code merdique.
Ca n'a aucun sens tes "mathématiques" :aie:
Sérieusement, poster ce mail encore une fois n'avait pour but que de relancer un peu des discussions vides?
Avec quel plaisir ai-je lu cet article ! Enfin une notoriété qui ose dire la vérité ! Qui sort du placard, pour utiliser une formule à la mode.
Je suis d'accord qu'en fait sa sortie vise surtout la "religion" OOP, car c'est bien là la différence fondamentale entre C et C++. Je dis (et je maintiens) "religion", car l'engouement pour ce langage en présente bien toutes les caractéristiques.
C a des défauts, certes, mais C++ les accumule, les transcande, les sublime !
Les adeptes de C++ vous répèteront ad nauseam que l'avantage de l'OOP, donc C++, est que vous pouvez « réutiliser le code ». Voyons don ! Mais qu'est-ce qu'ils s'imaginent ? Quelle supercherie, bull shit pour reprendre l'expression de Linus. Depuis la préhistoire de la programmation on « réutilise le code », l'OOP n'a rien apporté de plus. Cette légende est en fait colportée par les jeunes qui n'ont pas connu d'autres langages et qui se figurent que l'OOP a apporté quelquechose de ce côté. Foutaise ! Même en programmant en Assembler on réutilise du code. Voyons don !
J'ai développé au début des années 70 (FORTRAN et Assembler) un système permettant de produire des films d'animation par ordinateur sur une machine qui contenait 28k de mémoire ! Croyez-vous qu'on y serait arrivé si on n'avait pas pu « réutiliser le code » ? Foutaise !
Quant à Java, n'en parlons pas, il a éliminé la plus grande trouvaille de l'évolution des langages de programmation, à savoir les pointeurs, apparus avec C, et la plus grande connerie et source de frustration : le laguage sensible à la case, également instaurée par C.
Le dernier moteur 3D digne de ce nom écrit en langage C doit-être celui de Quake III sortit en 1999, soit 12 années maintenant. John Carmack était lui aussi réticent aux changements. Malgré tout, depuis, avec Doom III puis Rage il a succombé lui aussi aux charmes du C++. Pour rester dans le domaine du jeu vidéo, comment ne pas considérer que Battlefield 3 est incontestablement un "défi moderne" ?
En fait, très peu de langages offrent un rapport performance/productivité/déploiement multi-plateforme aussi intéressant que le C++. Dans de nombreux domaines de développement logiciel à la pointe, il n'y a pas (ou peu) d'alternatives au C++ (vidéo, 3D temps réelle, logiciels scientifiques, clients lourds...).
En raccourci, actuellement, le langage C++ est le mieux armé pour faire face aux défis modernes.
J'espère que ça changera rapidement (malgré que je sois un développeur C++ passionné je pense que la productivité pourrait être largement améliorée), mais en attendant c'est une réalité.
Joli troll. :ccool:
Bien essayé, mais cela se voit que tu n'y as pas touché depuis un bon petit moment. :D
Linus s'était mieux déguisé en sortant des termes hypes dans la communauté C++ comme bibliothèque standard ou boost.
EDIT: 100% d'accord que la réutilisation de code est la plus grosse foutaise de l'OOP. Malheureusement, les fanboys de l'époque et autres gens qui se voulaient être dans le vent n'avaient pas compris ce qu'était la substituabilité et ce qu'elle apportait. Et du coup ils colportaient des trucs à côté de la plaque -- comme s'il avait fallu avoir des objets pour faire des fonctions utilisables depuis plusieurs endroits (trop magique!) et les ranger dans des modules.
Les extrêmes étant insignifiants, l'avis extrême de Linus l'est donc. N'en déplaise à son égo.
Je respecte beaucoup Mr Linus Torvalds pour ses travaux sur Linux, si c’était un débat sur les systèmes d’exploitation son point de vue serait plus bénéfique et objectif. Mais parler sur les langages de programmation et la POO, je crois que l’avis d’un expert comme Mr Anders Hejlsberg sur C++ ou tout autre langage aura plus de poids et d’objectivité. :D
Ce que je voulais dire c’est que Mr Anders Hejlsberg est bien placé pour parler sur les langages de programmation et de la POO en particulier. Et je sais que c’est le père de Delphi et C# et avant eux, du célèbre Turbo Pascal que beaucoup de programmeurs se sont initiés à la POO en l’utilisant.:D
He bien moi je me considère entre les deux:
Je suis un vieux programmeur ( 18 ans de passion `derrière la cravate` ).
Je suis accroché au vieux style procédurale et pseudo-objects sous les
struct->fun_ptr(...)
et en même-temps, quelques puissantes constructions du c++ (libsigc++), operator overload ..etc..
J'ai le meilleurs des deux mondes, sans plonger dans le c++ extrême ( abus des templates!!! (boost), ( utilisateur du libstdc++ sans plus car je ne fais aucun usage de leurs templates en tant que base de mes classes).
Mon expérience avec le cannal irc: #c++ est très descriptif de la pensée de Mr. Linus Torvalds : Du monde bizarre...
Bref, je code en c++ comme un vieux programmeur C :-)
-----------
Qt: Je trouve que Qt utilise le c++ a merveille! Mais juste un point qui me titille:
Ils auraient dû prendre l'idée de libsigc++ au lieu de se torturer avec leur moc ( Meta-Object-Compiler) qui fourre les MACROS de preprocesseurs partout et y genère du code que je ne peux contrôler....
Linus Torvald est extrémiste dans ces propos et ceux que je peux lire le sont malheureusement beaucoup aussi.
Coté dev système, et je parle d'implémentation d'OS, de driver ou tout ce qui est bas niveau le C est LE langage de référence, rien de nouveau jusqu'ici.
Ensuite coté dev applicatif, framework et autre le C++ se retrouve être plus adapté et dispose de bien plus de librairie.
Le modèle d'un langage ne définit ni sa qualité ni s'il est bon ou pas; tout dépend de ce qu'on veut réaliser, de ces connaissances et de son désir d'utiliser un langage ou un autre.
Pour ma part je dirai qu'un bon développeur connait plusieurs, voir même pas mal de langage et qu'il sait choisir le plus adapté à une situation donnée ... j'ai eu l'occasion de développer des projets utilisant ensemble aussi bien C, C++ et python et bash que C, C++ et Java ... ou encore C et .NET et j'en passe ...
Je crois personnelement que c'est un peu extremiste de la part de Mr Linus Torsvald nous reconnaissons en lui un pionnier mais aussi reconnaissons que le c++ a bcp transformer le monde du developpement. Mais je ne suis pas developpeur C++.
Merci à tous
Java a aussi :
- permis de savoir où un "pointeur null" est utilisé (callstack des exceptions)
- interdit l'utilisation des pointeurs pointant dans les choux
- supprimé le cas des buffer-overflow
- fixer des conventions de codage et binaires (qui fait que l'on est pas obligé d'utiliser un magma de dépendances ingérables où chaque gugus choisi ces règles comme en C ou C++)
- ...
Après, le langage n'est pas parfait, comme tous; et les mécanismes qui y résident ont fatalement un coût sur les performances. Ensuite, ce n'est pas langage adapté a des besoins de bas niveau...
Ce qui me fait doucement rigoler, c'est que Torvald et bien d'autres ne voient pas les avantages de tels ou tels langages face aux besoins...
Entre autre pour l'introspection et la réflexion sans se palucher l'enregistrement des fonctions et propriétés des objets... On ne peut pas faire ça en C++ facilement car on a pas :
Regardez à quel point il est facile d'exposer des QObject dans QtScript, lisez les fichiers générés par "moc" et vous verrez ce à quoi vous échappez...Code:obj.invoke( "maMethode", args )
Let's troll again.
...
Concept intéressant. Je me demande à quoi peut bien faire référence le struct kobject du kernel linux. Mais, j'y pense, peut-être que le kernel linux est très orienté objet ?
Comme le dit wikipedia, ref. nécessaire. Mais tu ne trouveras pas ces références, donc je me permet de t'interpeler sur le fait que croire à des ont-dit, c'est aussi la base des religions. En tout cas, ça ne forme pas l'esprit critique.
Ca marche aussi dans l'autre sens : C a des qualité, certes, mais C++ les accumule, les transcende, les sublime !
Maintenant, cite moi un défaut intrinsèque au langage (moi, je peux t'en citer, mais je peux aussi t'en citer pour le C ; toi j'ai l'impression que tu va avoir du mal).
Le concept est là aussi intéressant. Sous -entendrais-tu qu'il n'y a pas de librairie C++ ?
Il faut savoir ce dont on parle pour parler de réutilisation. Effectivement, dans un programme, tout n'est pas réutilisable - cependant, c'est aussi vrai en C qu'en C++. Car un programme est composé de deux parties : une partie concrète, qui fait le travail qu'on lui demande, et une partie plus abstraite, qui a pour but de mettre en place les outils pour que ce travail soit fait simplement. Le fait que le programme soit en C, en C++ ou en brainf**k ne change rien à l'affaire : tout programme possède des parties qui peuvent être généralisées, et donc réutilisées.
Au millieu des années 60, c'est cette vision qui a permis l'émergence de ce qu'on appelait à l'époque la "programmation modulaire". Un terme un peu complexe mais qui cachait quelque chose de simple : la possibilité d'écrire des modules composés de fonctions fortement couplées, présentant une interface suffisament ouverte pour remplir plusieurs missions sur un sujet convenu. C'est l'essort des bibiothèques.
Faux. Elle a apporté une autre manière de le faire, ce qui, en soit, n'est pas si mal. Il n'y a qu'à voir toutes les librairies qui sont basées sur les MFC de MS pour voir que ce paradigme a un intérêt (et faux aussi sur l'existence de la reutilisation depuis la préhistoire de l'informatique ; il a fallut attendre les premiers langages haut niveau, et les langages objet sont arrivé une dizaine d'année plus tard. On parle du début des années 70, avec Simula et Smalltalk).
...
Vu que la légende en question n'en est pas une, et que la réutilisation de code assembleur ne s'est jamais fait à l'échelle industrielle, puis-je aussi renvoyer un magistral "Foutaise !" ?
Avec le background que tu as en informatique, comment est-ce que tu peux ne pas comprendre ce qu'on apporté les langages objets ? Au delà du développement pur, il peut-être bien, de temps en temps, de prendre de la hauteur. Je n'étais même pas né en 70, et pourtant, j'ai eu le temps de le faire(*). Tu as eu 25 ans de plus que moi pour te pencher sur le problème, c'est impardonnable que tu n'ais pas réussi.
Quand à la réutilisation dont tu parles, tu fais référence à des librairies achetées sur l'étagère ? Non. Tu fais référence à des fonctions que tu as écrit toi, et que tu as réutilisé toi. Fort heureusement, au niveau industriel, le code spaghetti est mort relativement vite, c'est une bonne chose que tu n'en ai pas fait les frais à l'époque.
En quoi les pointeurs sont des entités intéressante ? (et en quoi est-ce que les pointeurs sont ils différents au niveau conceptuel des @ mémoire utilisées en ASM ? le premier dérivant directement du second, comment peut-on dire que les pointeurs sont une invention du C ? Et si tu parles de langages de haut niveau, alors il manque encore quelque chose : comment expliquer que le Pascal, datant de 1970, possède aussi des pointeurs qui auraient été inventé pour le C en 1972 ? Fin de la parenthèse).
Les pointeurs ne sont que des outils, triviaux, et ce n'est pas une trouvaille. Le fait de proposer un langage qui n'a pas besoin de ces outils n'est pas un mal : Java propose d'autres moyens pour travailler sur des zone mémoire, et il n'y a aucun besoin de pointeurs dans ce langage. En quoi est-ce un mal ? Est-ce vexant à ce point de ne pas être capable de planter une machine sur un mauvais accès mémoire ? J'ai beau réfléchir, je ne vois pas l'ombre du début d'une bonne raison à cela.
Quand à la sensibilité ou non à la casse, mon dieu, quelle horreur ! Pour un peu, certains aurait presque osé demander aux programmeurs de suivre à la lettre une syntaxe rébarbative pour écrire du code ! Il l'ont fait ? Ah bon.
Certes, il semble que cette réponse a été fait dans la précipitation et certainement sous l'énervement voir le ras le bol concernant un projet spécifique mais il en demeure qu'elle contient une partie de vérité.
Le langage C++ certes propose une implémentation du concept de programmation objet et il a pour cela toute mon estime. Malheureusement si vous demandez aux programmeurs ayant un minimum d'expérience sur ce langage (personnellement je parle de professionnels du monde du jeu vidéo), il en demeure une certaine rancœur quant à l'implémentation des concepts objets sur ce langage.
Il est vrai que certains concepts (pour ne pas le citer, l'héritage multiple) sont de véritables hérésies et débouchent, dans le cas de gros projets, sur de véritables usines à gaz... très peu maintenables...
Cela étant dit je pense qu'il s'agit, tout comme n'importe quel autre langage informatique, plus d'un problème de logique de programmeur manquant d'expérience plus que d'un problème intrinsèque du langage en lui même.
Tout ça pour dire que l'intervention de Linus est totalement justifiée (il exprime SON point de vu) bien qu'un peu extrême (comme on en a l'habitude ^^)
Bref, ce type d'intervention ne devrait pas faire l'objet d'une actualité je pense mais montre un fond de vérité quant à l'utilisation du C++ qui est en cours d'amélioration (la norme date de 20 ans) par le biais du C++0x ce qui montre que ce langage est une bonne base mais n'est pas sans défauts.
Yo Dawg, I heard you like troll so I put a troll in your troll so you can troll while you troll.
Ce genre de débat est stérile, les arguments des pro et des anti sont souvent bien nazes (cf l'exemple ci dessus (pas toi emmanuel)). Le jours ou on comprendra que les langages sont des outils et une tache = un outil, on aura fait un grand pas.
Joel qui abuse de boost et des templates mais reste productif ...
Ah le problème des langages c'est toujours la même histoire de cours de récréation:
"C'est mon langage qui est le plus beau!!"
"Non c'est le mien"
"Ouinn maitresse il a dit que mon langage C++ il est horrible Ouinnn"
Pour ma part je pense que chaque langage a ses qualités et ses défauts et qu'il ne faut surtout pas l'employer à toutes les sauces.
La news ne date pas d'hier mais pour ceux qui sont intéressés par un langage possédants les qualités du C, C++ et Java je vous conseille de jeter un oeil au langage D.
Il est encore jeune mais propose pas mal de truc nouveau, intéressant et, j'insiste sur ce point, PRATIQUE pour le développeur ... A vous de voir.
Que la vie de développeur est horrible quand on à un choix d'outil aussi large que de sous développés incapable de s'en servir convenablement !! Désolé, le 12 je sort !
Je ne suis pas convaincu que C++ soit pertinent pour le noyau, mais ça n'est pas non plus l'horreur qui est décrite. J'admet qu'on peut faire facilement des trucs absolument excellents en C++ qui seraient une immonde galère en C.
Cependant, je suis d'accord avec Linus sur un point essentiel : La qualité plus que moyenne des développeurs C++ (en général bien sur) et qui à elle seule peut suffire à éliminer ce langage pour éviter d'avoir à débugger du code toxique par la suite.
Je ne me considère absolument pas comme un dieu de la programmation, (en fait, même si j'ai un assez bon niveau de C et de bonnes notions de c++, ça n'est pas mon métier, je suis admin système). Cependant je suis affligé de voir la proportion des développeurs C++ qui m'entourent qui ont beaucoup de mal avec la notion de pointeur et ne voient plus le rapport qu'il y a entre ce qu'ils écrivent et l'automate qui va exécuter leur code. A croire en les voyant faire que les * font partie des bizarreries de syntaxe mais sans avoir de sens précis. On en rajoute ou on en enlève jusqu'a ce que le compilateur ne râle plus. :aie:
Tout ceux qui disent que Linux est rétrograde mais qui codent en C++ sans jamais utiliser le mot clé const et sans trop savoir la différence entre un passage par valeur, par pointeur ou par référence feraient mieux de passer à un autre langage qui leur masque tout ça plutôt que de critiquer ce point de vue.
la solution aux seg fault et autre pointeur null est connu depuis bien longtemps (ie le début de l'informatique) c'est le paradigme fonctionnel :D
du coup, à quand un OS en ocaml ou haskell Mr Torvald ?
bon ok je sors
Un langage est bon ou mauvais pour un usage donné, il n'est pas bon ou mauvais en soit.
Et j'ajouterais qu'un développeur mauvais, que ce soit en c++ ou dans un autre langage, il sera mauvais, ce n'est pas la faute du langage (le c++ pardonne moins).
Bon après, Torvalds a voulu se faire son ptit buzz et ça marche mais ce n'est pas plus important que ça. C'est anecdotique.
Je trouve ça assez injuste.
Au contraire de la polémique Stallman, qui avait publié ses propos polémiques sur son blog, ici il s'agit d'une correspondance privée entre 2 contributeurs d'un projet et qui a été publiée sur Internet au bout de plusieurs dizaines de mois.
Je ne pense pas que Linus Torvalds ait voulu faire le "buzz"
Qu'est ce qui te permets d'avancer cet argument ? Je t'écoute...
... Quoi ? ..... elles sont ou tes statistiques ??
ahhh d'accord les 3 clampins qu'il ya dans ta boite et qu'il y avait dans ta classe en Fac ?
Mais ca veut dire quoi en général ??? Dans une discussion entre potes ca va, mais ici on discute publiquement, alors faut etre précis quand on avance quelque chose.
Bon ben vas faire un tour ailleurs, ouvres tes yeux et regardes ce qui fait notoriété en C++, Android, Firefox, Chrome, Visual Studio, Windows 7, la SQL Server, Oracle 10g, Photoshop, QT etc...
Et tout ça ne reflète par magie, ou une change inouie pas la médiocrité "en général" de ses programmeurs et concepteurs en C++.
Franchement les arguments de "café du commerce" a l'emporte piece Torvalds ou tous les autres peuvent aller se rhabiller. Perso je bosse dans une boite qui s'appelle Cadence, qui fait des outils de conception de microprocesseur pour des boites comme Intel, Apple, Samsung, Infineon, ST micro, nVidia etc... et franchement presques tous les mecs qui bossent dans mon bureau sont des excellents, au minimum, tres bons programmeurs C++.
Donc un conseil : change de boite et arrête de croire ce qu'un spécialiste des OS aussi connu soit t-il dit sur les langages de programmation. Il est pas spécialiste en tout et tres manifestement ne comprend rien a rien a la POO.
Sans déconner comme si johny haliday allait se mettre a parler de politique ! C'est la mime chose. Laissons les questions techniques aux vrais spécialistes ( par la j'entends ceux qui ont fait du concret, pas ceux qui parlent, qui parlent, Torvalds il en a fait en C mais zero en C++ donc il peut se taire point barre) et les jugements aux vraies statistiques et aux exemples concrets.
Es tu sûr pour Android ?
D'après mes sources, Android c'est noyau Linux + couche JIT/Java + HAL + couche C (déconseillé) ...
Sinon je suis d'accord avec toi sur le fait qu'il est soulant d'entendre des arguments de comptoir ... qui plus est sur des polémiques stériles telles que "Quel est le meilleur, seul vrai langage/OS/Ide/Dieu/Sport/Chanteur/etc... qui enterre tous les autres ?".
Si on veut des classements à la con, attendons que TF1 fasse une émission "Les 50 meilleurs langages de programmation" :mrgreen:
android c'est une base de noyau linux (donc en C) et parmis les ajouts il y a des bibliothèques en C++ (comme tinyxml ou encore webkit)
c'est pas un classement "à la con" mais c'est toujours ça de pris :
http://www.developpez.net/forums/d99...refere-2010-a/
A noté que le 07/06/2009 à 13h29 koala01 avait prévu ce pseudo-débat :
Juste pour ajouter ma pierre au débat (ou plutôt troll ambiant/en suspend), je ne suis pas d'accord avec :
J'ai été témoin de code assez bas niveau en C++, gestionnaire de mémoire, parallélisation de code (job, thread...)... Même si par tradition le C est de rigueur pour le noyau d'un OS il n'est pas une contrainte en soit.
Si l'on prend un domaine que je connais mieux, le monde vidéo ludique se concentre principalement en C++ alors que les performances sont une contrainte forte, il faut les tenir les 30/60 images par seconde ! En HD (full) il faut les tenir les 16 Gio/s même si le GPU bosse bien il faut le nourrir ce GPU :)
Bref voilà comme cela a été dit plus haut il n'y a pas de langage parfait pour tout, même si le C++ se veut multiparadigme. Le C# et Java (WinDev aussi ;)) sont très bien pour les applications buisness où le poste de programmeur est relativement méprisé donc on n'a pas de programmeur senior de gens qui maîtrise la technique. Ou encore pour les applications mobiles on n'a pas vraiment le choix selon l'OS :
iOS : Objective-C & C++
Androïd : Java ou C++
WindowsPhone : C# (C++ Manager ???)
Les autres : majoritairement Java...
Bref à chaque métier son langage et parfois c'est juste par culture...
Si vous voulez après on pourra faire un débat OpenGL/DirectX John Carmack à désavoué récemment (moins d'un an) l'OpenGL :D
Ça me rappelle le faux interview de Bjarne Stroustrup, en plein dans le sujet C vs C++.
Mon grand-père disait souvent qu'il n'y avait pas de mauvais outils, que de mauvais ouvriers...
Une fois j'ai vu une série de documents Office avec des macros VBA tenir tête au même outil développé en Java (plus grande souplesse d'utilisation, maintenance plus facile, pas de plantage de l'outil). VBA serait donc plus efficace que cette "m.... de Java" (c'est de l'humour, je suis loin de penser que Java en soit, de la m....) ?
Après analyse, il s'est avéré que le problème était bien ailleurs et qu'il n'avait rien à voir avec le choix du langage. La personne qui avait développé sous VBA avait réalisé un cahier des charges rigoureux, bien documenté son outils, réalisé des tests unitaires pertinents ET SURTOUT pensé autant à l'utilisateur qu'aux personnes qui devaient maintenir l'outil.
Par contre les cinq imbéciles (désolé, mais il n'y a pas d'autre mot) qui devaient révolutionner le fonctionnement du service ont été en dessous de tout pour ces parties. Cahier des charges qui ne prenait pas en compte tous les points de la demande du client, tests unitaires ni faits ni à faire, code non documenté, pas de documentation pour la maintenance. Certes le code était propre, mais il n'y avait que ça de positif.
Moralité : avant de critiquer un langage, toujours se souvenir que son choix (donc son efficacité, sa facilité d'utilisation et sa maintenabilité) est conjoncturel et devrait découler du cahier des charges...
Et pour reprendre mon grand-père, il n'y a pas de mauvais langage, que de mauvais concepteurs, développeurs, testeurs ou intégrateurs...
On peut tout de même comparer les efficacités respectives de la scie égoïne et de la scie circulaire, indépendamment des qualités de leurs utilisateurs.
Durant mes études, j'ai appris d'abord le C puis le C++. Je trouve ces 2 langages très bons, de plus ils permettent de comprendre/apprendre beaucoup d'autres langages. Je suis d'acord pour dire que Linus ne doit pas savoir programmer en POO et qu'il a du voir des développeurs mauvais/moyen utiliser ce langage.
[Mode troll On]
Ce qui doit le déranger c'est que le C est vraiment proche de l'algo tandis que les POO sont plus "pénibles" à transcrire en algo, faut passer d'abord par l'UML puis faire les algo des méthodes. Ca doit le saouler, c'est p'têtre un fainéant
[mode troll Off]
<second degré>
Mais c'est tout à fait ça.:)
Linus est un pauvre ignorant : il critique alors qu'il ne sait pas coder une ligne de C++.
C'est un dinosaure qui n'a pas sut s'adapter aux évolutions du développement: il en est resté à l'impératif alors que tout le monde est passé à la POO depuis 20 ans. Des concepts plus avancés comme la programmation orienté aspect doivent être tout à fait hors de sa porté. Il subira le sort réservé aux dinosaures. On devrait le laisser déblatérer ses antiquités dans son coin.
Nan mais pour qui se prend-il ?
Genre il a fait un un noyau de système d'exploitation compatible unix qui est utilisé par pas mal d'entreprises et de particuliers.
Et alors ? C'est un truc trop facile à faire et qui ne nécessite pas de connaissance en conception et architecture logiciel.
Quand à git, ça s'écrit en quelques heures avec un langage récent et des méthodes de dev modernes.
Il faut tout simplement ignorer ses élucubrations de vieux bout de viande périmé.
</second degré>
Compte tenu de ce qu'il a apporté à l'informatique, faut une sacré estime de soit pour le critiquer et ranger ses dires dans la catégorie "émission d'un individu atteint de sénilité avancée".
[edit]
Meilleur balisage second degré.