OK, legyen úgy, de akkor kérlek magyarázd el nekem, hogy miért van a UNIX történelmi kernelén kívül pl. a Linux (amikor Linus elkezdte irni, akkor én már régen nyomtam a Borland C++-t, tehát volt, de volt g++ is...), de ez szintén elmondható a Windows NT kernelre is, meg a még késõbb született WindowsCE-re, de szintén C-ben van a HURD is, meg pl. a Plan9 microkernele... és sorolhatnám, de most semmiképpen sem jut eszembe egy OS kernel sem amely esetleg C++-ban lenne...
Na nem kell mérgelõdni, mert a C++ szerintem és sok más fejlesztõ szerint is szuper nyelv, hatékony és stb. de itt azok a dolgok mellett érvelek (a szerintem jelzõvel), hogy egy kernelnek nincs szüksége az OO dolgokra, inkább maximálissan gépközeli kell, hogy legyen, a C az megfelel, de jobban szeretném ha a kernel sima gépi nyelven lenne irva, csak sajnos akkor dög nehéz lenne a portolás, ezért jött be a C, amelyet sokan portabilis gépi nyelvnek is hívnak, nem véletlenül...
Ja a kamu interview-et, meg már évek óta ismerem, csak most érdekesnek tartottam, hogy ide hozzam (hátha valaki nem ismeri), és azon kívül, hogy kamu, vagyis, hogy nem Brian az aki az elhangzottakat elmondta, nagyon sok igazságot is lehet benne találni... ha nem hiszed el, akkor vagy nem dolgoztál C-ben, vagy nem dolgoztál C++-ban (vagy nagyon keveset).
----------------------------------------
During the recent discussion, when it was suggested that perhaps the kernel is written in C simply because "we've always done it that way...", Linux creator Linus Torvalds joined in to explain:
"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
"The fact is, C++ compilers are not trustworthy. They were even worse in
1992, but some fundamental facts haven't changed: 1) the whole C++ exception handling thing is fundamentally broken. It's _especially_ broken for kernels. 2) any compiler or language that likes to hide things like memory allocations behind your back just isn't a good choice for a kernel. 3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++."
és én nem hiszem, hogy Linus-nak problémája lehetnek... nem hiszem, hogy egy olyan ember mint õ FUD lenne.
Persze sok mindenhez jobb a C++, de sok komoly kernelfejlesztõ szerint a kernelhez nem... amint már sokszor mondtam a ONE SIZE FIT ALL filozófia egyrészt sohasem igaz, ha pedig erõszakolják akkor káros...