31.12.2014 Views

Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...

Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...

Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ats<strong>ir</strong>ado klas÷ string, konteinerių šablonai, lokalizacija <strong>ir</strong> t.t.. Kompiliatorių kūr÷jams<br />

pr<strong>ir</strong>eik÷ dar dviejų-keturių metų kol jų produktai prad÷jo daugiau ar mažiau<br />

realizuoti C++ standartą. Tod÷l nereikalaukite per daug iš C++ kompiliatorių,<br />

pagamintų prieš 2002-uosius metus.<br />

Šiuo metu C++ t÷vas Bjornas Straustrupas (Bjarne Stroustrup) toliau vysto ne tiek<br />

pačią C++ kalbą, kiek jos standartinę funkcijų/klasių biblioteką. Pastaroji atrodo iš<br />

ties labai varganai lyginant pvz. su Java programavimo kalbos biblioteka. Kodinis<br />

šiuo metu vykstančio projekto pavadinimas yra C++0x. Tikimasi, kad metų kitų<br />

b÷gyje (gal 2008-2009 metais) gims koks nors C++ patobulinimas <strong>ir</strong> greičiausiai jis<br />

vadinsis C++09.<br />

Susidariusią spragą labai šauniai užpildo C++ biblioteka Qt. Savo gyvavimą ji<br />

prad÷jo 1995 metais kaip komercin÷ grafin÷s vartotojo sąsajos (GUI - Graphical<br />

User Interface) biblioteka Windows <strong>ir</strong> Unix operacin÷ms sistemoms (autoriai<br />

Haavard Nord <strong>ir</strong> E<strong>ir</strong>ik Chambe-Eng). 1997-ais metais Qt 1.2 tapo pagrindu kuriant<br />

Linux darbastalį KDE bei visas pastarojo grafines programas. 2000-ais išleistas<br />

specialus Qt variantas mobiliems įrenginiams - Qtopia Core (tuomet vadintas<br />

Qt/Embedded). 2005-ųjų metų vasarą pas<strong>ir</strong>od÷ Qt bibliotekos 4-oji versija: apie 500<br />

C++ klasių <strong>ir</strong> daugiau nei 9000 funkcijų. Kartu pas<strong>ir</strong>od÷ <strong>ir</strong> atv<strong>ir</strong>o kodo (open source)<br />

variantas nekomerciniam naudojimui operacin÷ms sistemoms Windows, Unix/Linux<br />

bei Mac OS X. Biblioteka apima ne tik grafinę vartotojo sąsają, bet <strong>ir</strong> duomenų<br />

bazių valdymo sistemas, 2D <strong>ir</strong> 3D grafiką, darbą su kompiuterių tinklais bei aibę kitų<br />

funkcijų, kurių verkiant trūksta standartinei C++ bibliotekai. 2007 metų rugs÷jo 25<br />

dieną Qt 4.3.1 buvo įdiegta į Eclipse - nemokamą <strong>ir</strong> šiuo metu bene pažangiausią<br />

integruotą programų kūrimo aplinką (IDE - Integrated Development Env<strong>ir</strong>onment).<br />

Beje - yra Qt bibliotekos variantas Java programavimo kalbai: Qt Jambi.<br />

Svarbiausias dalykas, kurį reikia žinoti apie C++, yra tai, jog C++ yra objektiškai<br />

orientuota kalba: ji pateikia klas÷s sąvoką (C kalbos struktūrų išpl÷timas), kurios<br />

pagalba realizuojami trys Objektiškai Orientuoto Programavimo banginiai:<br />

• inkapsuliacija<br />

• paveld÷jimas<br />

• polimorfizmas<br />

Aplink mus krūvos objektų: mašinos, kiemsargiai, medžiai. Kiekvienas jų turi savo<br />

būseną <strong>ir</strong> elgsenos ypatumus. OOP nutiesia labai patogų tiltą tarp objektų gyvenime<br />

<strong>ir</strong> objektų programoje. Objektiškai orientuotas yra ne tik programavimas: mes<br />

analizuojame aplinką, projektuojame jai talkinančias kompiuterines sistemas <strong>ir</strong><br />

pagaliau programuojame tomis pačiomis sąvokomis – objektais, jų būsenomis,<br />

elgsena bei tarpusavio ryšiais. Sykį perpratus OOP, paprastai jis tampa natūraliu<br />

programų kūrimo stiliumi. Sunku būna įsivaizduoti, kad kažkada gyventa be jo. Tai<br />

bene stipriausias instrumentas kovoje su programų sud÷tingumu.<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!