Keresés

Aktív témák

  • Jim Tonic

    nagyúr

    válasz steveetm #10 üzenetére

    Nos igen. Rengeteg idősebb ismerősöm van, akik struktúrált nyelv után OO-ra akartak vagy kényszerültek váltani. C---> C++
    Az egész próbálkozásoknak általában az a vége, hogy megírják C-ben, és a végén egy objektumba rakják az egészet.

  • Jim Tonic

    nagyúr

    válasz LordX #8 üzenetére

    A java addig jó, amíg használod az API-t, de messzire nem tudsz vele menni. Ha meg akarsz írni egy port drivert pl, akkor c++-ban kell megírnod hozzá, és implementálni. Mondjuk a java-t szokták C-- -nak is nevezni.

  • Jim Tonic

    nagyúr

    válasz Flashy #6 üzenetére

    Hmmm. Bennem azért merült fel a dolog, mert míg struktúrált programozásnál egyszerűen átlátható az egész, az OO nyelvekben az öröklődés, az ősosztály, a kényszerítések miatt elég nehezen átlátható nyelv. Legalábbis nekem annak tűnt a struktúrált után. A pszeudo oo struktúra pedig nekem is erősen nevetségesnek tűnik.

  • Jim Tonic

    nagyúr

    válasz LordX #2 üzenetére

    Igen, ezt én is levettem, mint írtam is. Szakmailag lettem volna kíváncsi a felvetett kérdésekre.

  • Jim Tonic

    nagyúr

    Sziasztok!

    Terjed egy levél az interneten, ami sok vitát kiváltott már. Én nem is arra lennék kíváncsi, hogy valós-e vagy sem, hanem a véleményetekre, szerintetek mennyi valóság van a leírt példákban.

    A levél:

    ''Elözetesként annak, aki nem szakmabéli, a mai legtöbb software ilyen
    módszerrel készül (Windows, Office, játékok, üzleti programok, stb...)
    Ez nem teljesen azt jelenti hogy rosszak, csak lehetnének
    nagyságrendekkel jobbak is.
    Elgondolkodtató az is, hogy enélkül mi történt volna a programozókkal
    (Már ha igaz a történet)

    A világ egyik legnagyobb csalása:
    -------------------------------------------------

    1998. januar 1-jen Bjarne Stroustrup interjut adott az IEEE 'Computer'
    magazinjanak. A szerkesztok termeszetesen az altala letrehozott nyelv [a
    C++ - a ford.] objektum-orientalt tervezesben eltoltott het evenek
    meltatasara szamitottak. Az interju vegere azonban a kerdezo kisse
    tobbet is kapott, mint amire szamitott, ezutan a szerkeszto ugy dontott,
    eltitkolja a tartalmat a 'szakma erdekeben', de mint sok mas esetben, az
    anyag megis kiszivargott. Ime, a teljes atirata annak, ami elhangzott,
    szerkesztes es stilizalas nelkul, igy talan nem annyira rendezett, mint
    a tervezett interjuk. Erdekes lesz...

    kerdezo: Nos, nehany ev mar eltelt amiota megvaltoztattad a
    szoftvertervezes vilagat; milyen erzes visszatekinteni?
    Stroustrup: Tulajdonkeppen eppen errol a korszakrol gondolkodtam mielott
    megjottel. Emlekszel? Mindenki C programokat irt, es a problema az volt,
    hogy atkozottul jok voltak benne. Az egyetemek is nagyon jol oktattak.
    Hihetetlen iramban ontottak magukbol a hozzaerto - megegyszer alahuzom,
    hozzaerto_ - vegzosoket. Ez okozta a problemat.

    kerdezo: Problemat?
    Stroustrup: Igen, problemat. Emlekszel, amikor meg mindenki Cobolban
    programozott?

    kerdezo: Persze, meg en is.
    Stroustrup: Nos, kezdetben oket felistenkent tiszteltek. Nagyon jo
    fizetest kaptak, es kiralykent tiszteltek oket.

    kerdezo: Azok voltak am a szep napok...
    Stroustrup: Bizony. Es mi tortent? Az IBM-nek elege lett ebbol, es
    dollarmilliokat forditott programozok kepzesere, amig csak majd minden
    sarkon talalni nem lehetett egyet.

    kerdezo: Ezert is szalltam ki. Egy ev alatt annyit zuhantak a fizetesek,
    hogy tobbet kerestem ujsagirassal.
    Stroustrup: Pontosan. Nos, ugyanez tortent a C programozokkal.

    kerdezo: Ertem, de megis, mire gondolsz?
    Stroustrup: Nos, egyik nap ultem az irodamban, es kiotlottem a
    megoldast, amely majd helyrebillenti az egyensulyt. Arra gondoltam, mi
    tortenne ha lenne egy olyan programnyelv, ami annyira bonyolult, annyira
    nehezen tanulhato, hogy senki sem lenne kepes elarasztani a piacot
    programozokkal. T ulajdonkeppen atvettem nehany otletet az X10-bol,
    tudod, X windows. Az egy olyan atkozott grafikai rendszer volt, hogy meg
    a Sun 3/60 gepeken is eppenhogycsak elfutott. Megvolt benne minden,
    amire szuksegem volt. Egy igazan nevetsegesen bonyolult szintakszis,
    homalyos fuggvenyek es pszeudo-OO [objektum-orientalt - a ford.]
    struktura. A mai napig senki sem ir nyers X windows kodot. Ha epeszu
    akarsz maradni, az egyetlen ut a Motif.

    kerdezo: Viccelsz?
    Stroustrup: Egyaltalan nem. Igazabol volt meg egy problema. A Unixot
    C-ben irtak, ami azt jelentette, hogy barmelyik C-programozo konnyen
    rendszerprogramozova valhatott. Emlekszel, mennyit keresett egy
    nagygepes programozo?

    kerdezo: Bizony, en is az voltam.
    Stroustrup: Szoval, ennek az uj nyelvnek el kellett valnia a Unixtol,
    elrejtve az osszes rendszerhivast, ami olyan szepen osszekototte volna
    oket. Igy mar azok is, akik csak a DOS-t ismertek, jo keresethez
    jutottak volna.

    kerdezo: Ezt nem hiszem; rosszul hallok?
    Stroustrup: Nos, most mar eleg ido eltelt, es azt hiszem, a legtobben
    mar maguktol is rajottek, hogy a C++ idopocsekolas, de meg kell mondjam,
    sokkal tovabb tartott nekik, mint gondoltam.

    kerdezo: Pontosan hogy csinaltad?
    Stroustrup: Eredetileg vicc akart lenni az egesz, sohasem gondoltam
    volna, hogy az emberek komolyan veszik majd a konyvet. Meg egy feleszu
    is lathatja, hogy az objektum-orientalt programozas kovethetetlen,
    illogikus es nem hatekony.

    kerdezo: Hogyan?
    Stroustrup: Es az ujrafelhasznalhato kodhoz csak annyit: halottal mar
    valaha olyan cegrol, amely ujrafelhasznalta volna sajat kodjat?

    kerdezo: Nos, meg nem, de...
    Stroustrup: Latod. Az igazat megvallva az elejen meg nehanyan
    megprobaltak. Ott volt peldaul ez az oregoni vallalat - azt hiszem,
    Mentor Graphics-nak hivtak oket -, amelyik jocskan rafazott, mikor
    90-ben vagy 91-ben megprobalt mindent ujrairni C++-ban. Sajnaltam oket,
    tenyleg, de ugy gondoltam, az emberek majd tanulnak tevedeseikbol.

    kerdezo: De nyilvanvaloan megsem ezt tettek, ugye?
    Stroustrup: A legkevesbe sem. A baj az, hogy a legtobb vallalat
    agyonhallgatja a nagyobb bakloveseit, egy harmincmillio dollaros
    veszteseget pedig nehez lett volna megmagyarazni a reszvenyeseknek. A
    dologhoz hozza tartozik, hogy vegul is azert sikerult nekik.

    kerdezo: Megis sikerult? Nos, tessek, ime a bizonyitek: az OOP mukodik.
    Stroustrup: Nos, majdnem. A programfile olyan nagy volt, hogy ot percig
    tartott, amig betoltodott egy 128MB RAM-mal rendelkezo HP
    munkaallomason. Ezutan pedig ugy futott, mint egy teknos. Tulajdonkeppen
    arra gondoltam, hogy ez tul nagy buktatonak bizonyul es egy het alatt
    lelepleznek, de senkit sem erdekelt. A Sun es a HP egyszeruen tul nagy
    orommel arulta elsopro teljesitmenyu gepeit, amelyekkel oriasi
    eroforrasok felhasznalasaval futtattak egyszeru programokat. Tudod,
    amikor megvolt az elso C++ forditonk az AT&T-ben, leforditottam a 'Hello
    World'-ot [egyszeru tesztprogram, amely pusztan a fenti uzenet
    kiirasabol all - a ford.], es alig hittem a szememnek, amikor meglattam,
    hogy a vegrehajthato allomany 2,1MB lett.

    kerdezo: Hogyan? Nos, a forditok azota sokat fejlodtek.
    Stroustrup: Tenyleg? Probald ki a g++ legujabb verziojan - nem hiszem,
    hogy fel megabyte-nal nagyobb a kulonbseg. Van egy csomo igen kozeli
    pelda is a vilag minden tajarol: a British Telecom igen nagy galibaba
    keveredett, de szerencsere sikerult kidobniuk az egeszet az ablakon es
    ujrakezdeniuk. Szerencsesebbek voltak, mint az Australian Telecom. Most
    hallottam, hogy a Siemens is dinoszauruszt csinal, es egyre jobban es
    jobban aggodnak, ahogy a futtatashoz szukseges hardware merete
    novekszik. Hat nem csodalatos dolog a tobbszoros oroklodes?

    kerdezo: Igen, de a C++ alapjaban veve egy ertelmes nyelv.
    Stroustrup: Ezt te tenyleg el is hiszed, ugye? Leultel mar valaha C++
    projekten dolgozni? Ez szokott tortenni: Eloszor is, eleg buktatot
    epitettem be, hogy csak a legegyszerubb dolgok mukodjenek elsore. Nezd
    meg peldaul az operator overloading-et. A projekt vegere mar
    gyakorlatilag minden modulban van, altalaban, mert a sracok ugy erzik,
    tenyleg kell, ha mar egyszer ez tanultak a tanfolyamon. Ekkor ugyanaz az
    operator minden egyes modulban teljesen mast es mast jelent. Probald meg
    kibogozni, ha van mondjuk szaz modulod. Az adatelrejtesrol pedig annyit,
    hogy neha szinte alig birom visszafojtani a nevetest, amikor hallom,
    hogy a cegeknek problemaik vannak moduljaik egymashoz illesztesevel. Azt
    hiszem, a szinergista szot kifejezetten a projektmenedszerek hataba
    szurt kes megforgatasara hoztak letre.

    kerdezo: Azt kell mondjam, kezdek erosen megdobbenni. Azt mondtad, azert
    csinaltad, hogy emelkedjen a programozok fizetese? Ez
    durva/gusztustalan.

    Stroustrup: Nem igazan. Mindenkinek van valasztasa. Nem szamitottam ra,
    hogy a dolog ennyire kicsuszik a kezbol. Mindenesetre, tulajdonkeppen
    sikerult. A
    C++ kezd kihalni, de a programozok meg mindig jo fizetest kapnak -
    C++ kulonosen
    azok a szerencsetlenek, akiknek ezt a sok vacakot karban kell tartaniuk.
    Eszrevetted, hogy lehetlen karbantartanod egy nagy C++ modult, hacsak
    nem te magad irtad?

    kerdezo: Hogyhogy?
    Stroustrup: Mar elszoktal, nem? Emlekszel a typedefre?

    kerdezo: Igen, hat persze.
    Stroustrup: Emlekszel, mennyi ideig tartott vegigkeresgelni a
    header-file-okat, amig megtalalta az ember, hogy a 'TetoFelemelve' egy
    duplapontossagu szam? Nos, kepzeld el meddig tart, amig megtalalod az
    osszes osztaly osszes implicit typdefjet egy nagyobb projektben.

    kerdezo: Akkor miert gondolod, hogy sikerult?
    Stroustrup: Emlekszel egy atlagos C projekt idotartamara? Korulbelul hat
    honap. Kozel sem eleg, hogy egy feleseggel, gyerekekkel rendelkezo srac
    normalis eletszinvonalhoz elegendo penzt keressen ezalatt. Vegyuk
    ugyanazt a projektet, tervezzuk meg C++-ban, es mit kapunk? Megmondom:
    egy vagy ket evet. Hat nem nagyszeru? Ilyen biztos allas, egyetlen
    dontesi hiba miatt. Es meg egy dolog: az egyetemek olyan regen nem
    tanitanak C-t, hogy hiany van jo C programozokbol. Kulonosen azokbol,
    akik konyitanak a Unix rendszerprogramozashoz is. Hanyan tudnak, mit
    kezdjenek a mallockal, mikor az utobbi evekben csak new-t hasznaltak -
    es sosem veszodtek a visszateresi ertek vizsgalataval? Igazabol a
    legtobb C++ programozo eldobja a visszateresi erteket. Mi tortent a jo
    oreg -1-gyel? Legalabb tudta az ember, hogy hiba tortent, anelkul, hogy
    vegig kellett volna kuldeni az egeszet a 'throw' 'catch' 'try'
    lapvideken''

Aktív témák

Hirdetés