previous next Up Title Contents Index

7.1 C/C++

Mikä ero on C ja C++ - kielillä? Hyvin pieniä poikkeuksia lukuunottamatta 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. 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- ohjelmontiin 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.



previous next Up Title Contents Index