You are on page 1of 5

1998 janur 1-n Bjarne Stroustrup interjt adott az IEEE "computer" magazinnak.

A szerkesztk termszetesen az ltala ltrehozott nyelv (C++) tervezsben eltlttt ht vnek mltatsra szmtottak. Az interj vgn a krdez kicsit tbbet is kapott, mint amire szmtott... Ezutn a szerkeszt gy dnttt, eltitkolja a tartalmat a "szakma rdekben", de az anyag mgis kiszivrgott: K(rdez): Nos, nhny v mr eltelt amita megvltoztattad a szoftvertervezs vilgt, milyen rzs visszatekinteni? S(troustrup): Tulajdonkppen ppen errl a korszakrl gondolkodtam, mieltt megjttl. Emlkszel? Mindenki C programokat irt, s a problma az volt, hogy tkozottul jk voltak benne. Az egyetemek is nagyon jl oktattak. Hihetetlen iramban ontottk magukbl a hozzrt, mgegyszer hangslyozom, hozzrt vgzsket. Ez okozta a problmt. K: Problmt??? S. Igen, problmt. Emlkszel, amikor mg mindenki Cobolban programozott? K: Persze, mg n is. S: Nos, kezdetben mg flistenknt tiszteltk ket. Nagyon j fizetst kaptak, s kirlyknt ltek. K: Azok voltak m a szp napok... S: Bizony. s mi trtnt? Az IBM-nek elege lett ebbl, s dollrmillikat fordtott programozk kpzsre, amg csak minden sarkon tallni nem lehetett egyet. K: Ezrt is szlltam ki. Egy v alatt annyit zuhantak a fizetsek, hogy tbbet kerestem jsgrssal. S: Pontosan. Nos, ugyanez trtnt a C programozkkal. K: rtem, de mgis, mire gondolsz? S: Nos, egyik nap, ltem az irodmban, s kitlttem a megoldst, amely majd helyrebillenti az egyenslyt. Arra gondoltam, mi trtnne, ha lenne egy olyan programnyelv, ami annyira bonyolult, annyira nehezen tanulhat, hogy senki nem lenne kpes elrasztani a piacot programozkkal. Tulajdonkppen tvettem nhny tletet az X10-bl, tudod, X-window. Az egy olyan tkozott grafikai rendszer volt, hogy mg a Sun 3/60 gpeken is ppenhogycsak elfutott. Megvolt benne minden, amire szksgem volt. Egy igazn nevetsgesen bonyolult szintaxis, homlyos fggvnyek s pszeudo-00 (objektum-orientlt) struktra. A mai napig senki sem r nyers X-window kdot. Ha pesz akarsz maradni, az egyetlen t a Motif. K: Viccelsz? S: Egyltaln nem. Igazbl volt mg egy problma. A UNIX-ot C-ben rtk, ami azt jelentette, hogy brmelyik C-programoz knnyen rendszerprogramozv vlhatott. Emlkszel, mennyit keresett egy nagygpes programoz?

K: Bizony, n is az voltam. S: Szval, ennek az j nyelvnek el kellett vlnia a UNIX-tl, elrejtve az sszes rendszerhvst, ami olyan szpen sszekttte ket. gy mr azok is, akik csak a DOS-t ismertk, j keresethez jutottak volna. K: Ezt nem hiszem el, rosszul hallok??? S: Nos, mr elg id eltelt, s azt hiszem, a legtbben mr maguktl is rjttek, hogy a C++ idpocskols, de meg kell mondjam, sokkal tovbb tartott nekik, mint gondoltam. K: Pontosan hogyan csinltad? S: Eredetileg vicc akart lenni az egsz, sohasem gondoltam volna, hogy az emberek majd komolyan veszik a knyvet. Mg egy flesz is lthatja, hogy az objektum-orientlt programozs kvethetetlen, illogikus, s nem hatkony. K: Hogyan? S: s az jrafelhasznlhat kdhoz csak annyit: hallottl mr olyan cgrl, amely jrafelhasznlta volna sajt kdjt? K: Nos, mg nem, de... S: Ltod! Az igazat megvallva, az elejn mg nhnyan megprbltk. Ott volt pldul ez az oregoni vllalat - azt hiszem, Mentor Graphicsnek hvtk ket, - amelyik jcskn rfzott, mikor 90-ben vagy 91-ben megprblt mindent jrarni C++-ban. Sajnltam ket, tnyleg, de gy gondoltam, az emberek majd tanulnak tvedseikbl. K: De nyilvnvalan mgsem ezt tettk, ugye? S: A legkevsb sem. A baj az, hogy a legtbb vllalat agyonhallgatja a nagyobb baklvseit, egy harminc mill dollros vesztesget pedig nehz lett volna megmagyarzni a rszvnyeseknek. A dologhoz hozz tartozik, hogy vgl is azrt sikerlt nekik. K: Mgis sikerlt? Nos tessk, me a bizonytk: az OOP mkdik. S: Nos, majdnem. A programfile olyan nagy volt, hogy t percig tartott, amg betltdtt egy 128 MB RAM-mal rendelkez HP munkallomson. Ezutn pedig gy futott, mint egy tekns. Tulajdonkppen arra gondoltam, hogy ez tl nagy buktatnak bizonyul, s egy ht alatt lelepleznek, de senkit sem rdekelt. A Sun s a HP egyszeren tl nagy rmmel rulta elspr teljestmny gpeit, amelyekkkel risi erforrsok felhasznlsval futtattak egyszer programokat. Tudod, amikor megvolt az els C++ fordtnk az AT&T-ben, lefordtottam a "Hello World"-ot (egyszer tesztprogram, amely pusztn a fenti zenet kirsbl ll), s alig hittem a szememnek, amikor meglttam, hogy a vgrehajthat llomny 2.1 MB lett. K: Hogyan? Nos, a fordtk azta sokat fejldtek.

S: Tnyleg? Prbld ki a C++ legjabb verzijn, - nem hiszem, hogy fl megabyte-nl nagyobb a klnbsg. Van egy csom igen kzeli plda is a vilg minden tjrl: A British Telecom igen nagy galibba keveredett, de szerencsre sikerlt kidobniuk idben az egszet az ablakon, s jrakezdenik. Szerencssebbek voltak, mint az Australian Telecom. Most hallottam, hogy a Siemens is dinoszauruszt csinl, s egyre jobban aggdnak, ahogy a futtatshoz szksges hardwaare mrete nvekszik. Ht nem csodlatos dolog a tbbszrs rklds? K: Igen, de a C++ alapjban vve egy rtelmes nyelv. S: Ezt Te tnyleg el is hiszed, ugye? Leltl mr valaha C++ projekten dolgozni? Ez szokott trtnni:Elszr is, elg buktatt ptettem be, hogy csak a legegyszerbb dolgok mkdjenek elsre. Nzd meg pldul az operator overloading-et. A projekt vgre mr gyakorlatilag minden modulban van, ltalban, mert a srcok gy rzik, tnyleg kell, ha mr egyszer ezt tanultk a tanfolyamon. Ekkor ugyanaz az opertor minden egyes modulban teljesen mst s mst jelent. Prbld meg kibogozni, ha van mondjuk szz modulod. Az adatelrejtsrl pedig annyit, hogy nha szinte alig brom visszafojtani a nevetst, amikor hallom, hogy a cgeknl problmik vannak a moduljaik egymshoz illesztsvel. Azt hiszem, a szinergista szt kifejezetten a projektmenedzserek htba szrt ks megforgatsra hoztk ltre. K: Azt kell mondjam, kezdek ersen megdbbenni. Azt mondtad, azrt csinltad, hogy emelkedjen a programozk fizetse? Ez durva, s gusztustalan. S: Nem igazn. Mindenkinek van vlasztsa. Nem szmtottam r, hogy a dolog ennyire kicsszik a kzbl. Mindenesetre, tulajdonkppen sikerlt. A C++ kezd kihalni, de a programozk mg mindig j fizetst kapnak, klnsen azok a szerencstlenek, akiknek ezt a sok vacakot kell karbantartaniuk. szrevetted, hogy lehetetlen karbantartanod egy nagy C++ modult, hacsak nem te magad rtad? K: Hogyhogy? S: Mr elszoktl, nem? Emlkszel a typedefre? K: Igen, ht persze. S: Emlkszel, mennyi ideig tartott vgigkeresglni a header-file-okat, amg megtallta az ember, hogy a "TetoFelemelve" egy duplapontossg szm? Nos, kpzeld el meddig tart, amg megtallod az sszes osztly sszes implicit typdefjeit egy nagyobb projektben. K: Akkor mirt gondolod, hogy sikerlt? S: Emlkszel egy tlagos C projekt idtartamra? Krlbell hat hnap. Kzel sem elg, hogy egy felesggel, gyerekkel rendelkez src normlis letsznvonalhoz elegend pnzt keressen ezalatt. Vegyk ugyanezt a projektet, tervezzk meg C++-ben, s mit kapunk? Megmondom: egy vagy kt vet. Ht nem nagyszer? Ilyen biztos lls, egyetlen dntsi hiba miatt!. s mg egy dolog: az egyetemek olyan rgen nem tantanak C-t, hogy hiny van j C programozkbl. Klnsen azokbl, akik konytanak a Unix rendszerprogramozshoz is. Hnyan tudnk, mit kezdjenek a mallockal, mikor az utbbi vekben csak new-t hasznltak s sosem veszdtek a visszatrsi rtk vizsglatval? Igazbl a legtbb C++ programoz eldobja a visszatrsi rtket. Mi trtnt a j reg -1-el? Legalbb tudta az ember, hogy hiba

trtnt, anlkl, hogy vgig kellett volna kldeni az egszet a "throw", "catch", "try" lpvidkn. K: De az rklds biztos megtakart egy csom idt? S: Tnyleg? Felfedezted mr a klnbsget egy C s egy C++ projektterv kztt? A C++ projekt tervezsi szakasza hromszor olyan hossz. Pontosabban, amg vgigellenrzik, hogy minden rkldik, aminek rkldnie kell, s aminek nem, az nem. s mg akkor is elrontjk. Ki hallott mr memriafolysrl egy C programban? Ma kln ipar ezek megkeresse. A legtbb cg feladja, s piacra dobja a termket tudvn, hogy folyik mint a csap, pusztn, hogy elkerlje a folysok feldertsnek kltsgeit. K: Vannak eszkzk... S: Amelyeket legtbbszr C++-ben rtak. K: Ha ezt megjelentetjk, tged valsznleg meg fognak lincselni, tudsz rla? S: Ktlem. Mint mondtam, a C++ lefutban van, s egyetlen pesz cg sem kezd bele C++ projektbe tjkozd jelleg prba nlkl. Az pedig meg kell, hogy gyzze ket arrl, hogy ez az t katasztrfhoz vezet. Ha nem, megrdemlik! Tudod, megprbltam rbeszlni Dennis Ritchie-t, hogy rja jra a Unixot C++-ben. K: Atyaisten! Mit mondott? S: Nos, szerencsre j humorrzke van. Azt hiszem, is, s Brian is mr az els napokban rjttek, mit csinlok, de sohasem rultak el. Azt mondta, segtene megrni a DOS C++ vltozatt, ha engem is rdekel a dolog. K: rdekelt? S: Valban, meg is rtam. Ha befejeztk, meg is mutatom. A szmtgpteremben fut egy Sparc 20-on. Ngy processzoron repl, mint a goly, s csak 70 megt foglal el a lemezen. K: PC-n milyen? S: Viccelsz? Mg sosem lttad a Windows '95-t? gy gondolok r, mint a legnagyobb sikeremre. br majdnem elszrtam, mieltt ksz lettem. K: Tudod, a Unix++ gondolata mg mindig nem hagy nyugodni. Valahol valaki biztos meg fogja prblni. S: Nem, miutn elolvastk ezt a beszlgetst! K: Sajnlom, de nem hiszem, hogy ebbl brmit is megjelentethetnnk. S: De ez az vszzad sztorija! Csak szeretnm, ha programoztrsaim emlkeznnek rm, s arra, amit rtk tettem. Tudod, mennyit keres egy C++ programoz manapsg? K: Legutbb gy hallottam, hogy egy igazn jrt akr rnknt 70-80 dollrt is megadnak.

S: Ltod? s fogadok, hogy fizetsben ennyi. Szemmel tartani az sszes csapdt, amit beleraktam a C++-ba nem egyszer. s mint ahogy mr mondtam, mindegyik C++ programoz valamilyen misztikus esk ltal ktelezve rzi magt, hogy a nyelv minden egyes tkozott elemt minden projekthez felhasznlja. Tulajdonkppen ez nagyon zavar, annak ellenre, hogy az eredeti clomat szolglja. Ennyi id utn, mr majdnem szeretem ezt a nyelvet. K: gy rted, eddig nem szeretted? S: Utltam. Olyan esetlen, nem gondolod? De amikor elkezdtek befolyni a jogdjak a knyvbl... Azt hiszem, rted. K: Egy pillanat! Mi van a hivatkozsokkal? El kell ismerned, javtottl a C mutatin. S: Hmm. Ezen gyakran tprengtem. Eredetileg gy gondoltam n is. Aztn egyszer beszlgettnk errl egy, mr a kezdetektl C++-ban dolgoz srcal. azt mondta, sohasem emlkszik, hogy a vltozi hivatkozottak-e, vagy sem, ezrt inkbb mindig mutatkat hasznlt. Azt mondta, a csillag mindig emlkezteti. K: Nos, ennl a pontnl szoktam ltalban azt mondani, hogy ksznm szpen az interjt, de ebben az esetben nem igazn tnik helynvalnak. S: grd meg, hogy megjelentetitek. A lelkiismeretem mr a jobbik felemet marcangolja. K: Nos majd rtestelek, de azt hiszem, mr most tudom, mit fog mondani a szerkesztm. S: Egybknt is, ki hinn el? Habr, tudsz kldeni egy msolatot a felvtelrl? K: Igen.

You might also like