[OSy] C++
Martin Decky
decky at d3s.mff.cuni.cz
Mon Oct 10 13:49:52 CEST 2011
Vazeni kolegove,
nechtel bych Vas nejak zrazovat od myslenek implementovat semestralku v
C++, ktere v tomto listu uz parkrat zaznely, jen bych si dovolil jeste
jednou durazne upozornit na nektera mozna uskali:
1) V predchozich letech si C++ typicky zvolila jen jedna skupina (v
nekterych letech zadna). Je sice pravda, ze ty C++ semestralky dopadly
vetsinou velmi dobre, ale to zrejme nelze pricitat volbe jazyka, ale
jednoduse tomu, ze jejich autori byli velmi dobri programatori.
Pravdepodobne by si stejne dobre poradili i s holym ceckem, kdyby k tomu
byli donuceni.
2) Objemove byly semestralky psane v C++ vzdy rozsahlejsi nez
semestralky psane v C. To muze byt zpusobeno proste tim, ze C++
prirozene vede programatora k vetsi mire zapouzdrovani -- kde by si
clovek v holem C vystacil s jednoduchym typedefem na unsigned int a
beznymi aritmetickymi operacemi, tam v C++ naprogramuje tridu s deseti
metodami a/nebo pretizenymi operatory.
Dalsi duvod je ten, ze rozhrani semestralky predepsane zadanim je
navrzeno pro jazyk C. Z toho plyne, ze v pripade pouziti C++ se bude
jednat o velkou neobjektovou fasadu nad internimi objekty, coz je
zkratka take prace navic.
3) Predevsim pri pouziti C++ pro kernel je nutne peclive volit, jake
vlastnosti jazyka vlastne pouzijete a bez kterych se naopak obejdete.
Pouziti STL pro datove typy je asi rozumne, ale naopak pouziti RTTI nebo
vyjimek Vam muze zivot dost zkomplikovat uz jenom kvuli nutnym upravam v
linker skriptu (EH framy apod.).
Na druhou stranu, prekladac GCC podporuje i jine jazyky nez C a C++,
takze pokud by nekdo za kazdou cenu chtel programovat kernel v Jave, Ade
nebo Objective-C, ma (alespon teoretickou) moznost :-)
M.D.
More information about the NSWI004
mailing list