Interview du créateur du C++

[Résolu]
Signaler
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
-
Salut,

Je l'ai pas mis dans le bar pour que ça reste entre utilisateurs du C++... Désolé si ça n'a pas sa place sur le forum, mais j'ai franchement rigolé en le lisant.

====================================================
Interview de Bjarn Stroustrup (le créateur du C++)

les vrais raisons du C++

Interviewer : Cela fait quelques années maintenant que vous avez
change le monde de la conception logicielle, qu'est-ce cela vous fait
en regardant en arrière ?

Stroustrup : En fait, je repensais à cette époque juste avant que vous

n'arriviez. Vous vous souvenez ? Tout le monde écrivait en C et le

problème était qu'ils étaient vachement bons. Les universités dispensaient

également un bon enseignement du C. Elles produisaient des diplômes

compétents - et j'insiste sur le mot compétent. Et c'est ce qui a pose

problème.

Interviewer : Problème ?

Stroustrup : Oui, problème. Vous vous souvenez du temps ou tout le monde

écrivait en COBOL ?

Interviewer : Bien sur, j'ai moi-même écrit en COBOL.

Stroustrup : Et bien au début ces gars étaient des demi-dieu. Leurs

salaires étaient élevés et ils étaient traités comme des princes.

Interviewer : C'etait l'bon temps, hein ?

Stroustrup : Hé oui. Et qu'est-ce qu'il s'est passe ? IBM en a eu marre,

et a investi des millions dans la formation de programmeurs COBOL, jusqu'a

ce qu'ils ne valent qu'une bouchée de pain pour une douzaine.

Interviewer : C'est la que j'ai quitte ce métier. Les salaires ont chuté

en moins d'un an, au point que cela payait plus d'être journaliste.

Stroustrup : Exactement. Et la même chose est arrive aux programmeurs en

'C'.

Interviewer : Je vois, mais ou voulez-vous en venir ?

Stroustrup : Et bien, un jour j'étais à mon bureau et j'ai conçu un petit

stratagème qui pourrait retourner un peu la situation. Je pensais : 'je me

demande ce qu'il se passerait s'il existait un langage si complique, si

difficile a apprendre que personne ne pourrait jamais inonder la marche de

programmeurs ? ' En fait, une partie de ces idées viennent de X10, vous

savez, XWindows. C'etait un système graphique si complique que cela ne

tournait que sur ces choses Sun3/60. Tous les ingrédients que je voulais

étaient présents : une syntaxe ridiculement complexe, des fonctions

obscures, et une structure pseudo orientee-objet. Même maintenant,

personne n'écrit du code X-Windows. Motif est le seul moyen de coder sans

perdre sa raison.

Interviewer : Vous n'êtes pas sérieux ?

Stroustrup : Bien au contraire. En fait, il y avait un autre problème.

Unix était écrit en 'C', ce qui signifie que tout programmeur 'C' pouvait

facilement devenir programmeur système. Vous vous souvenez de ce qu'un

programmeur de mainframe avait pour habitude de gagner ?

Interviewer : Bien sur, c'était aussi mon type de salaire.

Stroustrup : OK, donc ce nouveau langage devait se séparer d'Unix, en

masquant tous les appels qui liaient les deux si élégamment. Cela

permettrait aux gars qui ne connaissent que le DOS de gagner de nouveau

correctement leur vie.

Interviewer : Je ne peux pas croire que vous ayez dit cela.

Stroustrup : Bah, cela fait longtemps maintenant, et je suppose que la

plupart des gens se sont rendus compte par eux-même que le C++ est une

perte de temps, mais je dois dire que cela a pris plus de temps que je ne

l'aurais cru.

Interviewer : Alors, comment exactement vous vous y-êtes pris ?

Stroustrup : C'etait suppose être une blague, jamais je n'aurais cru que

les gens prendrait le bouquin au sérieux. N'importe qui avec 2 grammes de

bon sens peut voir que la programmation orientée-objet est

contre-intuitive, illogique et inefficace.

Interviewer : Quoi ?!

Stroustrup : Et concernant le 'code réutilisable'!... Vous avez déjà

entendu d'une compagnie qui a jamais réutilise du code ???

Interviewer : En fait,... jamais, mais...

Stroustrup : Hé ben voila. Je ne dis pas que quelques uns n'aient pas

essaye au début. Il y avait cette compagnie d'Oregon - je crois qu'elle

s'appelait Mentor Graphics - qui s'est vraiment fait une belle frayeur en

essayant de tout réécrire en C++ dans les années 1990 ou 1991. J'en suis

désolé pour eux, vraiment, mais je pensais que les gens en auraient tire

des leçons.

Interviewer : Manifestement, ils ne l'ont pas fait ?

Stroustrup : Pas le moins du monde. Le problème, c'est que la plupart des

compagnies ont du étouffer leurs échecs majeurs, et que expliquer des

pertes de 30millions de $ a leurs actionnaires aurait été difficile.

Cependant, rendons leur crédit, c'est eux qui ont permis que cela marche

en fin de compte.

Interviewer : Ha oui ? Et bien vous voyez, l'oriente-objet, cela marche !

Stroustrup : Moui presque. L'exécutable était si énorme qu'il mettait 5

minutes a se charger sur des HP avec 128Mo de RAM. Il tournait si

lentement. En fait, je pensais que cela serait un obstacle rédhibitoire,

et je me suis rendu compte en moins d'une semaine que tout le monde s'en

foutait. SUN et HP n'étaient que trop content de vendre des ordinateurs

d'une puissance énorme, dotées d'immenses ressources juste pour faire

tourner des programmes triviaux. Vous savez, lorsque l'on a eu notre

premier compilateur C++ chez AT&T, j'ai compile le programme 'Hello

World', et je ne pouvais pas croire la taille de l'exécutable: 2.1 Mo.

Interviewer : Quoi ? Les compilateurs ont fait du chemin depuis.

Stroustrup : Vraiment ? Essayez donc avec la dernière version de g++. La

différence n'excédera pas 0.5Mo. De plus, j'ai plusieurs exemples récents

pour vous, et ce depuis tout pays. British Telecom s'est retrouvé avec un

désastre entre les mains, mais par chance, ils ont pu tout effacer et

repartir de zéro. Et ils ont eu plus de chance que Australian Telecom.

Aujourd'hui, j'apprends que Siemens construit une usine a gaz, et

s'inquiète de la taille croissante du matériel afin de pouvoir y faire

tourner les exécutables. Est-ce que l'héritage multiple n'est pas

merveilleux ?

Interviewer : Oui, mais C++ est à la base un langage solide.

Stroustrup : Vous en êtes vraiment convaincu, n'est-ce pas ? Avez-vous

déjà participe à un projet C++ ? Voila ce qui se passe: d'abord, j'y ai

introduit suffisamment de piège pour être sur que seuls les projets les

plus simples fonctionneront la première fois. Considérez la surcharge des

opérateurs. A la fin du projet, tous les modules l'ont utilise, surtout

parce que les gars ont pense qu'ils devaient le faire, comme pendant leur

formation. Le même opérateur qui signifie complètement autre chose d'un

module a l'autre. Essayez de rassembler tout cela lorsque vous avez une

centaine de module environ. Quant a l'encapsulation de données, mon Dieu,

parfois je ne peux m'empêcher de rigoler lorsque j'entends parler des

problèmes qu'ont des compagnies pour faire communiquer leurs modules. Je

pense que le mot 'synergie' a été invente pour remuer le couteau dans la

plaie des manager de projet.

Interviewer : Je dois avouer que tout cela commence à me troubler. Vous

dites que vous avez fait tout cela juste pour augmenter le salaire des

programmeurs ? C'est choquant !

Stroustrup : Pas vraiment. Tout le monde a le choix. Je ne m'attendais pas

a ce que cela soit si incontrôlable. De toute façons, j'ai en gros réussi.

C++ est en train de passer de mode, et les programmeurs ont toujours des

salaires élevés, surtout ces pauvres diables qui doivent maintenir toute

cette merde. Vous réalisez bien sur qu'il est impossible de maintenir un

gros programme C++ si vous ne l'aviez pas vous-même écrit

Interviewer : Et pourquoi donc ?

Stroustrup : Vous êtes vraiment hors du coup, pas vrai ? Vous vous

souvenez du typedef ?

Interviewer : Oui, bien sur.

Stroustrup : Vous souvenez-vous du temps qu'il vous fallait pour explorer

les fichiers de déclaration de fonction avant de vous rendre compte que

'RoofRaised' était un double ? Alors, imaginez le temps que cela prend

pour traduire tous les typedef implicites de toutes les classes d'un

projet important en C++ !

Interviewer : Alors, en quoi reconnaissez-vous avoir réussi ?

Stroustrup : Rappelez-vous de la durée moyenne d'un projet en 'C' :

environs 6 mois. Pas assez longtemps pour gagner correctement sa vie pour

un gars marie avec enfants. Prenez le même projet, concevez-le en C++ et

qu'est-ce que vous obtenez ? Je vais vous le dire : un a deux ans. C'est

pas super, ça ? Toute cette sécurité de l'emploi a cause d'une erreur de

jugement. Et autre chose : les universités n'ont pas enseigne le 'C'

depuis si longtemps qu'il y a maintenant pénurie de programmeurs valables

en 'C'. Surtout concernant ceux qui y connaissent quelque chose sur la

programmation système Unix. Combien de gars saurait quoi faire avec un

'malloc', alors qu'ils utilisent 'new' ces dernières années, et ce sans

jamais vérifier le code de retour ? En réalité, la plupart des

programmeurs C++ ignorent complètement leur code de retour. Qu'est-ce qui

est arrive au bon vieux '-1'? Au moins, vous saviez que vous aviez une

erreur, sans tout emberlificoter dans des 'throw' et 'try'.

Interviewer : Mais a l'évidence, l'héritage fait gagner du temps ?

Stroustrup : Vraiment ? Avez-vous remarque la différence entre un planning

de projet 'C' et 'C++' ? La phase de planning d'un projet C++ est trois

fois plus longue. Et justement pour s'assurer que tout ce doit être dérivé

l'est, et ce qui ne doit pas l'être ne l'est pas. Et en plus, ils se

gourent. Qui a entendu parler de 'fuites mémoire' en 'C' ? Maintenant, on

les trouve dans les plus grandes industries. La plupart des compagnies

abandonnent et commercialisent leurs produits en sachant qu'ils fuient

comme des passoires, simplement pour éviter le coût de débuguer toutes ces

fuites.

Interviewer : Il y a des outils...

Stroustrup : La plupart d'entre eux ont été écrit en C++ !

Interviewer : Si on publie cela, vous serez probablement lynche , vous le

savez, non ?

Stroustrup : Ca m'étonnerait. Comme je vous l'ai dit, C++ est maintenant

sur son déclin, et aucune compagnie sensée ne commencerait un projet sans

un prototype. Cela devrait suffire à les convaincre de la nature

désastreuse de cette voie. Sinon, ils mériteront ce qu'il leur arrivera.

Vous savez, j'ai essaye de convaincre Dennis Ritchie de réécrire Unix en

C++.

Interviewer : Oh mon Dieu, et qu'est-ce qu'il a dit ?

Stroustrup : Ben heureusement, il a un bon sens de l'humour. Je pense que

lui et Brian se sont aperçu très tôt de ce que je faisais, mais ne l'ont

jamais fait savoir. Il m'a dit qu'il m'aiderait à écrire une version C++

de DOS, si j'étais intéressé.

Interviewer : Et vous l'étiez ?

Stroustrup : En fait, j'ai écrit DOS en C++. Je vous donnerai une demo

après. Je le fais tourner sur un Sparc20 dans la salle des ordinateurs. Ca

tourne comme une flèche sur 4 CPU, et cela ne prends que 70Mo sur le

disque.

Interviewer : Et-ce que cela tourne comme sur un PC ?

Stroustrup : La vous blaguez. Avez-vous déjà vu Windows95? Je le considère

comme un de mes plus gros succès. Ca a même failli tout arrêter avant que

je ne sois prêt.

Interviewer : Vous savez, cette idée de Unix++ m'avait vraiment fait

réfléchir. Il y a des gars quelque part qui sont en train d'essayer de le

faire. [en fait, le ?-kernel L4 en est un bon exemple...]

Stroustrup : Non, pas après cette interview !

Interviewer : Je suis désolé, mais je ne nous vois pas capable de publier

quoique ce soit de cela.

Stroustrup : Mais c'est l'histoire du siècle ! Je veux juste être

considère par mes collègues programmeurs pour ce que je leur ai apporte.

Savez-vous combien peut toucher un programmeur C++ ces jours-ci?

Interviewer : D'après ce que j'ai entendu, un vrai pro peut valoir 70 a

80$ de l'heure.

Stroustrup : Vous voyez ? Et je parie qu'il les mérite. Tenir compte de

tous les pièges à con que j'ai introduit dans le C++ n'est pas un job

facile. Et comme je vous l'ai dit, tous les programmeurs C++ sont comme

lie par un serment mystique pour employer toutes les fonctionnalités du

langage dans tous les projets. En fait, cela finit même par m'ennuyer

parfois, même si cela sert mon but original. J'en finis presque par aimer

ce langage.

Interviewer : Vous voulez dire que ne l'aimiez pas avant ?

Stroustrup : Je le détestais. Il n'est même pas élégant, vous ne trouvez

pas ? Mais quand les royalties du bouquin ont commence à arriver... vous

voyez l'idée.

Interviewer : Attendez une minute... et les références ? Vous devez

reconnaître que cela représente une amélioration sur le pointeur 'C'.

Stroustrup : Hmmm, je me suis toujours pose des questions a ce sujet. Au

début, je pensais que s'en était une. Et puis un jour, j'ai discute avec

un gars qui avait programme depuis ses débuts en C++. Il me disait qu'il

ne pouvait jamais se souvenir si ses variables étaient référencées ou

déréférencées, alors il utilisait toujours les pointeurs. Il disait que le

petit '*' astérisque l'aidait à se souvenir.

Interviewer : Et bien, a ce stade je dis généralement 'Merci beaucoup',

mais cela ne semble pas très approprié.

Stroustrup : Promettez-moi que vous allez publier cela. Ma conscience

prend le dessus ces derniers temps.

Interviewer : Je vous le ferai savoir, mais je pense deviner ce que mes

éditeurs vont dire.

Stroustrup : Qui le croirait de toutes façons ? Toutefois, pourriez-vous m'envoyer une copie de cette bande ?

Interviewer : Oui, je peux faire ça.

6 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Aurais-tu les références de cela ?
Ou est-ce de ton cru ?

ciao...
BruNews, MVP VC++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Vivi, c'est un faux a priori (Un hoax comme on dit).
A moins que Bjarne Stroustrup a blagué lors d'un interview...
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
C'est pouratant ce qu'il aurait vraiment pu répondre.

ciao...
BruNews, MVP VC++
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
Bonjour,

ça été écrit par un fan du C qui veut pas s'adapter ou le C++ est une "blague" ?

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com