interview Bidon??? - C++ - Programmation
Marsh Posté le 16-06-2003 à 09:27:30
Troll
Marsh Posté le 16-06-2003 à 09:32:47
Au moins ca m'aura détendu...
Marsh Posté le 16-06-2003 à 11:36:14
par contre pour l'usine a gaz de siemens, hum, comment dire
Marsh Posté le 16-06-2003 à 09:24:35
Interview Stroustrup (le createur du C++), les vrais raisons du C++
>
>Interviewer : Cela fait quelques annees maintenant que vous avez change le monde
>de la conception logicielle, qu'est-ce cela vous fait en regardant en arriere ?
>
>Stroustrup : En fait, je repensais a cette epoque juste avant que vous
>n'arriviez. Vous vous souvenez ? Tout le monde ecrivait en C et le probleme
>etait qu'ils etaient vachement bons. Les universites dispensaient egalement un
>bon enseignement du C. Elles produisaient des diplomes competents - et j'insiste
>sur le mot competent. Et c'est ce qui a pose probleme.
>
>Interviewer : Probleme ?
>
>Stroustrup : Oui, probleme. Vous vous souvenez du temps ou tout le monde
>ecrivait en COBOL ?
>
>Interviewer : Bien sur, j'ai moi-meme ecrit en COBOL.
>
>Stroustrup : Et bien au debut ces gars etaient des demi-dieu. Leurs salaires
>etaient eleves et ils etaient traites comme des princes.
>
>Interviewer : C'etait l'bon temps, hein ?
>
>Stroustrup : He 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 bouchee de pain pour une douzaine.
>
>Interviewer : C'est la que j'ai quitte ce metier. Les salaires ont chute en
>moins d'un an, au point que cela payait plus d'etre journaliste.
>
>Stroustrup : Exactement. Et la meme chose est arrive aux programmeurs en 'C'.
>
>Interviewer : Je vois, mais ou voulez-vous en venir ?
>
>Stroustrup : Et bien, un jour j'etais a mon bureau et j'ai concu un petit
>stratageme 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 idees viennent de X10, vous savez,
>XWindows. C'etait un systeme graphique si complique que cela ne tournait que sur
>ces choses Sun3/60. Tous les ingredients que je voulais etaient presents : une
>syntaxe ridiculement complexe, des fonctions obscures, et une structure pseudo
>orientee-objet. Meme maintenant, personne n'ecrit du code X-Windows. Motif est
>le seul moyen de coder sans perdre sa raison.
>
>Interviewer : Vous n'etes pas serieux ?
>
>Stroustrup : Bien au contraire. En fait, il y avait un autre probleme. Unix
>etait ecrit en 'C', ce qui signifie que tout programmeur 'C' pouvait facilement
>devenir programmeur systeme. Vous vous souvenez de ce qu'un programmeur de
>mainframe avait pour habitude de gagner ?
>
>Interviewer : Bien sur, c'etait aussi mon type de salaire.
>
>Stroustrup : OK, donc ce nouveau langage devait se separer d'Unix, en masquant
>tous les appels qui liaient les deux si elegamment. 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-meme 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-etes pris ?
>
>Stroustrup : C'etait suppose etre une blague, jamais je n'aurais cru que les
>gens prendrait le bouquin au serieux. N'importe qui avec 2 grammes de bon sens
>peut voir que la programmation orientee-objet est contre-intuitive, illogique et
>inefficace.
>
>Interviewer : Quoi ?!
>
>Stroustrup : Et concernant le 'code reutilisable'!... Vous avez deja entendu
>d'une compagnie qui a jamais reutilise du code ???
>
>Interviewer : En fait,... jamais, mais...
>
>Stroustrup : He ben voila. Je ne dis pas que quelques uns n'aient pas essaye au
>debut. 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
>reecrire en C++ dans les annees 1990 ou 1991. J'en suis desole pour eux,
>vraiment, mais je pensais que les gens en auraient tire des lecons.
>
>Interviewer : Manifestement, ils ne l'ont pas fait ?
>
>Stroustrup : Pas le moins du monde. Le probleme, c'est que la plupart des
>compagnies ont du etouffer leurs echecs majeurs, et que expliquer des pertes de
>30 millions de $ a leurs actionnaires aurait ete difficile. Cependant, rendons
>leur credit, 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'executable etait si enorme 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 redhibitoire, et je me suis rendu compte en
>moins d'une semaine que tout le monde s'en foutait. SUN etHP n'etaient que trop
>content de vendre des ordinateur d'une puissance enorme, dotees d'immense
>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'executable : 2.1 Mo.
>
>Interviewer : Quoi ? Les compilateurs ont fait du chemin depuis.
>
>Stroustrup : Vraiment ? Essayez donc avec la derniere version de g++. La
>difference n'excedera pas 0.5Mo. De plus, j'ai plusieurs exemples recents pour
>vous, et ce depuis tout pays. British Telecom s'est retrouve avec un desastre
>entre les mains, mais par chance, ils ont pu tout effacer et repartir de zero.
>Et ils ont eu plus de chance que Australian Telecom. Aujourd'hui, j'apprends que
>Siemens construit une usine a gaz, et s'inquiete de la taille croissante du
>materiel afin de pouvoir y faire tourner les executables. Est-ce que l'heritage
>multiple n'est pas merveilleux ?
>
>Interviewer : Oui, mais C++ est a la base un langage solide.
>
>Stroustrup : Vous en etes vraiment convaincu, n'est-ce pas ? Avez-vous deja
>participe a un projet C++ ? Voila ce qui se passe : d'abord, j'y ai introduit
>suffisamment de piege pour etre sur que seuls les projets les plus simples
>fonctionneront la premiere fois. Considerez la surcharge des operateurs. 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 meme operateur
>qui signifie completement 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 donnees, mon Dieu, parfois je ne peux m'empecher de rigoler
>lorsque j'entends parler des problemes qu'ont des compagnies pour faire
>communiquer leurs modules. Je pense que le mot 'synergie' a ete invente pour
>remuer le couteau dans la plaie des manager de projet.
>
>Interviewer : Je dois avouez que tout cela commence a 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 incontrolable. De toute facons, j'ai en gros reussi. C++ est en
>train de passer de mode, et les programmeurs ont toujours des salaires eleves,
>surtout ces pauvres diables qui doivent maintenir toute cette merde. Vous
>realisez bien sur qu'il est impossible de maintenir un gros programme C++ si
>vous ne l'aviez pas vous-meme ecrit
>
>Interviewer : Et pourquoi donc ?
>
>Stroustrup : Vous etes 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 declaration de fonction avant de vous rendre compte que 'RoofRaised'
>etait 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 reussi ?
>
>Stroustrup : Rappelez-vous de la duree 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 meme 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, ca ? Toute
>cette securite de l'emploi a cause d'une erreur de jugement. Et autre chose :
>les universites n'ont pas enseigne le 'C' depuis si longtemps qu'il y a
>maintenant penurie de programmeurs valables en 'C'. Surtout concernant ceux qui
>y connaisse quelque chose sur la programmation systeme Unix. Combien de gars
>saurait quoi faire avec un 'malloc', alors qu'ils utilisent 'new' ces dernieres
>annees, et ce sans jamais verifier le code de retour ? En realite, la plupart
>des programmeurs C++ ignorent completement 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'evidence, l'heritage fait gagner du temps ?
>
>Stroustrup : Vraiment ? Avez-vous remarque la difference 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 etre derive l'est, et ce
>qui ne doit pas l'etre ne l'est pas. Et en plus, ils se gourent. Qui a entendu
>parler de 'fuites memoire' 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
>eviter le cout de debuguer toutes ces fuites.
>
>Interviewer : Il y a des outils...
>
>Stroustrup : La plupart d'entre eux ont ete ecrit en C++ !
>
>Interviewer : Si on publie cela, vous serez probablement lynche, vous le savez,
>non ?
>
>Stroustrup : Ca m'etonnerait. Comme je vous l'ai dit, C++ est maintenant sur son
>declin, et aucune compagnie sensee ne commencerait un projet sans un prototype.
>Cela devrait suffire a les convaincre de la nature desastreuse de cette voie.
>Sinon, ils meriteront ce qu'il leur arrivera. Vous savez, j'ai essaye de
>convaincre Dennis Ritchie de reecrire 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 apercu tres tot de ce que je faisais, mais ne l'ont jamais fait
>savoir. Il m'a dit qu'il m'aiderait a ecrire une version C++ de DOS, si j'etais
>interesse.
>
>Interviewer : Et vous l'etiez ?
>
>Stroustrup : En fait, j'ai ecrit DOS en C++. Je vous donnerai une demo apres. Je
>le fais tourner sur un Sparc20 dans la salle des ordinateurs. Ca tourne comme
>une fleche 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 deja vu Windows95 ? Je le considere
>comme un de mes plus gros succes. Ca a meme failli tout arreter avant que je ne
>sois pret.
>
>Interviewer : Vous savez, cette idee de Unix++ m'avait vraiment fait reflechir.
>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 apres cette interview !
>
>Interviewer : Je suis desole, mais je ne nous vois pas capable de publier
>quoique ce soit de cela.
>
>Stroustrup : Mais c'est l'histoire du siecle ! Je veux juste etre considere par
>mes collegues programmeurs pour ce que je leur ai apporte. Savez-vous combien
>peut toucher un programmeur C++ ces jours-ci ?
>
>Interviewer : D'apres 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 merite. Tenir compte de tous les
>pieges a 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 fonctionnalites du langage dans tous les projets. En
>fait, cela finit meme par m'ennuyer parfois, meme 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 detestais. Il n'est meme pas elegant, vous ne trouvez pas ?
>Mais quand les royalties du bouquins ont commence a arriver... vous voyez l'idee.
>
>Interviewer : Attendez une minute... et les references ? Vous devez reconnaitre
>que cela represente une amelioration sur le pointeurs 'C'.
>
>Stroustrup : Hmmm, je me suis toujours pose des questions a ce sujet. Au debut,
>je pensais que s'en etait une. Et puis un jour, j'ai discute avec un gars qui
>avait programme depuis ses debuts en C++. Il me disait qu'il ne pouvait jamais
>se souvenir si ses variables etaient referencees ou dereferencees, alors il
>utilisait toujours les pointeurs. Il disait que le petit '*' asterix l'aidait a
>se souvenir.
>
>Interviewer : Et bien, a ce stade je dis generalement 'Merci beaucoup', mais
>cela ne semble pas tres approprie.
>
>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 editeurs
>vont dire.
>
>Stroustrup : Qui le croirait de toutes facon ? Toutefois, pourriez-vous
>m'envoyer une copie de cette bande ?
>
>Interviewer : Je peux faire ca.
>