C ist streng genommen (leider) keine Untermenge von C++; die Schnittmenge ist aber so groß, dass man zumindest in erster Näherung imo schon davon ausgehen kann. Jemand hat mal gesagt, dass gutes C meistens auch gültiges C++ ist.
Ich hab selbst keine Erfahrung im Embedded Bereich, aber was ich so mitbekommen hab, ist das Problem dort, dass Embedded Systeme sehr oft Echtzeitanforderungen (hat per se nichts mit Performance zu tun!) erfüllen und/oder extrem hohen Sicherheitsstandards genügen müssen, was so weit gehen kann, dass die Korrektheit der Software mathematisch bewiesen werden muss, weil z.B. Menschenleben auf dem Spiel stehen. Die Sprache, in der derartige Software entwickelt werden muss, ist oft vorgeschrieben und selbst das vergleichsweise einfache C macht da oft nicht das Rennen gegen Sprachen wie z.B. Ada und andere, die außerhalb solcher Bereiche eher Exoten sind.
Abgesehen von derart extremen Spezialfällen, ist der imo einzige rationale Grund heutzutage noch C zu verwenden aber, dass es für die Zielplattform keinen vernünftigen C++ Compiler gibt, was bei µC möglicherweise immer noch manchmal zutrifft. Dass C++ langsamer wäre als C ist jedenfalls Schwachsinn. Aber man kann natürlich in jeder Sprache langsamen Code schreiben...
Mein Rat wäre jedenfalls, erstmal auf dem PC ordentlich C++ zu lernen, selbst wenn nur aus dem simplen Grund, seinen Horizont nicht unnötig eng zu halten. Ein guter C++ Programmierer ist meiner Erfahrung nach praktisch immer automatisch auch ein guter C Programmierer, die Umkehrung gilt aber keineswegs.
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »dot« (19.01.2013, 18:38)