Portál AbcLinuxu, 12. května 2025 15:44
Ja bych zase řekl, že mezi C a C++ je větší rozdíl než mezi ASM a C.
C je přenositelný assembler. Má celkem jednoduchou syntaxi a bez explicitního volání nějaké knihovní funkce nepotřebuje libc.
V C++ třeba existují operátory new a delete, které způsobí přilinkování malloc a free. A nějak tak budou implementovány i výjimky. C++ potřebuje standardní knihovnu, nevystačí si samo o sobě. To je jeden z důvodů, proč nemá v jádře co dělat.
Přívlastek "jednoduchá" není zrovna ten, který by mne v souvislosti se syntaxí C napadl jako první. Spíš by to bylo něco jako "chaotická" nebo "nesystematická".
To je věc názorů. Možná není úplně jednoduchá, ale logická je.
S new a delete nemáte tak úplně pravdu - stejně jako většina ostatních se totiž dají overloadovat.Ok. Tak to byl špatný argument.
Nenapadá mě ale žádná featura C++, která by měla pozitivní přínos ve vývoji jádra. C tady bohatě dostačuje. Pro vývoj jádra je třeba jednoduchý jazyk. Stačí opomenout nějakou drobnost (přetěžování funkcí nebo operátorů pro to poskytuje mnoho možností), překladač chybu nenahlásí, ale v kernelu je závažná chyba. V C je podobných záludností daleko méně (snad jen makra preprocesoru).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.