[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