C finde ich beste Wahl.
Um C++ komplett nutzen zu können ist einiges an Vorarbeit notwendig was unnötig wäre das extra in den Kernel zu packen.
C alleine produziert zudem auch kleineren und schnelleren Code was für den Kernel ja sehr sinnvoll ist.
new/delete ist schnell gebastelt
, ist ja nicht viel anders, wie malloc/free, wenn es ans exception-handling geht, dann ist tatsächlich Vorarbeit nötig. Man könnte es aber weglassen, wenn man es nicht will, allerdings hab ich es bis jetzt immer mit reingenommen, da damit leicht Möglichkeit, Fehler zu korrigieren oder Fehlermeldungen auszugeben.
RTTI würde ich im Kernel nicht verwenden, weil ich den Code net kenne. Mehrfachvererbung auch nicht, vor allem nicht von Interfaces.
Templates sind wahrscheinlich auch unnütz.
Operatorüberladung auch, aber ich würde sie nicht ausschließen wollen,
z.B. new/delete-Opeartor, evtl. Vergleichsoperatoren.
Wenn man auch Exception-Handling rauslässt,
hat man nen recht schlankes C++, das mit nem gutem Compiler garantiert nicht langsamer bzw. größer als entsprechendes C ist!
virtuelle Memberfunktionen würde ich Übrigens auch nicht ausschließen,
sie können enorm zur Abstraktion beitragen, was für den Kernel ja sehr sinnvoll ist
Wie berät sich eigentlich das Coreteam? Über PN's oder wohnt ihr zusammen?
MfG
DDR-RAM