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.