Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

7.1 C/C++

Mikä ero on C ja C++ - kielillä? Hyvin pieniä poikkeuksia lukuun ottamatta jokainen C- kielinen ohjelma on myös C++ - kielinen ohjelma. Voitaisiin sanoa että C++ on C:n oliopohjainen laajennus. Tosin C++:ssa on myös lisäyksiä, joilla ei sinänsä ole mitään tekemistä olio- ohjelmoinnin kanssa. Koska C++ ei ole "puhdas" oliokieli, sanotaan sitä hypridikieleksi ( multi paradigm). Sitä, että C++:lla voi kirjoittaa myös ei- olio- ohjelmia, pitävät monet olio- ohjelmoinnin asiantuntijat pahana. Toisaalta maailmassa on valtava määrä C- kielen osaajia, joille on näin luotu "pehmeä" lasku olio- ohjelmointiin ilman että heidän aikaisemmin kirjoittamansa koodi tulisi kerralla arvottomaksi. Ilman muuta C- kielen "painolasti" haittaa tietyllä tavalla C++- kielen kehittymistä, mutta reaalimaailmassa on tyydyttävä kompromisseihin.

Kumpi sitten kannattaa opetella ensiksi? Puristit sanovat että jokin "leikkikieli", jotkut että C ja "oliogurut" sanovat että ilman muuta jokin oliokieli. Otamme siis tällä kurssilla kultaisen(?) keskitien ja opettelemme C++:sta eräänlaisen "lasten" version, jossa jatkossa käytämme hyväksi myös kielen olio- ominaisuuksia. Loppumonisteessa merkintä C tarkoittaa ominaisuutta, joka toimii sekä C-kielessä, että C++-kielessä. Merkintä C++ tarkoittaa ominaisuutta, joka toimii vain C++-kielessä.


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys