Betekintés: C++ könyv, oldal #4

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!

st. Az, hogy hogyan közelítsünk egy új nyelv tanulásához, attól függ, mit tudunk már és mit akarunk még megtanulni. Nem létezik egyetlen megközelítés sem, amely mindenkinek jó lenne. A szerzõ feltételezi, hogy az olvasó azért tanulja a C++-t, hogy jobb programozó és tervezõ legyen. Vagyis nem egyszerûen egy új nyelvtant akar megtanulni, mellyel a régi megszokott módon végzi a dolgokat, hanem új és jobb rendszerépítési módszereket akar elsajátítani. Ezt fokozatosan kell csinálni, mert minden új képesség megszerzése idõt és gyakorlást igényel. Gondoljuk meg, mennyi idõbe kerülne jól megtanulni egy új természetes nyelvet vagy megtanulni jól játszani egy hangszeren. Könnyen és gyorsan lehetünk jobb rendszertervezõk, de nem annyival könnyebben és gyorsabban, mint ahogy azt a legtöbben szeretnénk. Következésképpen a C++-t – gyakran valódi rendszerek építésére – már azelõtt használni fogjuk, mielõtt megértenénk minden nyelvi tulajdonságot és eljárást. A C++ – azáltal, hogy több programozási modellt is támogat (2. fejezet) – különbözõ szintû szakértelem esetén is támogatja a termékeny programozást. Minden új programozási stílus újabb eszközt ad eszköztárunkhoz, de mindegyik magában is hatékony és mindegyik fokozza a programozói hatékonyságot. A C++-t úgy alkották meg, hogy a fogalmakat nagyjából sorban egymás után tanulhassuk meg és eközben gyakorlati haszonra tehessünk szert. Ez fontos, mert a haszon a kifejtett erõfeszítéssel arányos.



1. Megjegyzések az olvasóhoz

9

A folytatódó vita során – kell-e C-t tanulni a C++-szal való ismerkedés elõtt – szilárd meggyõzõdésemmé vált, hogy legjobb közvetlenül a C++-ra áttérni. A C++ biztonságosabb, kifejezõbb, csökkenti annak szükségét, hogy a figyelmet alacsonyszintû eljárásokra irányítsuk. Könnyebb a C-ben a magasabb szintû lehetõségek hiányát pótló trükkösebb részeket megtanulni, ha elõbb megismertük a C és a C++ közös részhalmazát és a C++ által közvetlenül támogatott magasabb szintû eljárásokat. A „B” függelék vezérfonalat ad azoknak a programozóknak, akik a C++ ismeretében váltanak a C-re, például azért, hogy régebbi kódot kezeljenek. Több egymástól függetlenül fejlesztett és terjesztett C++-változat létezik. Gazdag választék kapható eszköztárakból, könyvtárakból, programfejlesztõ környezetekbõl is. Rengeteg tankönyv, kézikönyv, folyóirat, elektronikus hirdetõtábla, konferencia, tanfolyam áll rendelkezésünkre a C++ legfrissebb fejlesztéseirõl, használatáról, segédeszközeirõl, könyvtárairól, megvalósításairól és így tovább. Ha az olvasó komolyan akarja a C++-t használni, tanácsos az ilyen források között is böngészni. Mindegyiknek megvan a saját nézõpontja, elfogultsága, ezért használjunk legalább kettõt közülük. Például lásd [Barton,1994], [Booch,1994], [Henricson, 1997], [Koenig, 1997], [Martin, 1995].

1.3. A C++ jellemzõi
Az egyszerûség fontos tervezési feltétel volt; ahol választani lehetett, hogy a nyelvet vagy a fordítót egyszerûsítsük-e, az elõbbit választottuk. Mindenesetre nagy súlyt fektettünk arra, hogy megmaradjon a C-vel való összeegyeztethetõség, ami eleve kizárta a C nyelvtan kisöprését. A C++-nak nincsenek beépített magasszintû adattípusai, sem magasszintû alapmûveletei. A C++-ban például nincs mátrixtípus inverzió operátorral, karakterlánc-típus összefûzõ mûvelettel. Ha a felhasználónak ilyen típusra van szüksége, magában a nyelvben definíálhat ilyet. Alapjában véve a C++-ban a legelemibb programozási tevékenység az általános célú vagy alkalmazásfüggõ típusok létrehozása. Egy jól megtervezett felhasználói típus a beépített típusoktól csak abban különbözik, milyen módon határozták meg, abban nem, hogyan használják. A III. részben leírt standard könyvtár számos példát ad az ilyen típusokra és használatukra. A felhasználó szempontjából kevés a különbség egy beépített és egy standard könyvtárbeli típus között.



10

Bevezetés

A C++-ban kerültük az olyan tulajdonságokat, melyek akkor is a futási idõ növekedését vagy a tár túlterhelését okoznák, ha nem használjuk azokat. Nem megengedettek például azok a szerkezetek, melyek „háztartási információ” tárolását tennék szükségessé minden objektumban, így ha a felhasználó például két 16 bites mennyiségbõl álló szerkezetet ad meg, az egy 32 bites regiszterbe tökéletesen belefér. A C++-t hagyományos fordítási és futási környezetben való használatra tervezték, vagyis a UNIX rendszer C programozási környezetére. Szerencsére a C++ sohasem volt a UNIX-ra korlátozva, a UNIX-ot és a C-t csupán modellké

«« Előző oldal Következő oldal »»