Embedded C++ (EC++, ECPP) ist eine von C++ abgeleitete Programmiersprache mit einem gegenüber C++ eingeschränkten Funktionsumfang. Embedded C++ wurde von einem Industriekonsortium verschiedener japanischer Chip-Hersteller, darunter NEC, Hitachi, Fujitsu, und Toshiba für eingebettete Systeme mit geringen Ressourcen wie z. B. Programm- und Arbeitsspeicher entwickelt. Das erklärte Ziel war die Schaffung einer Programmiersprache, welche die wichtigsten zur objektorientierten Programmierung in C++ eingeführten Sprachmittel unterstützt, dabei aber geringere Codegröße, höhere Effizienz und einfachere Erstellung von Compilern für eingebettete Mikrocontroller ermöglichen soll.
Fehlende Eigenschaften
Die erste Spezifikation zu Embedded C++ wurde 1996 herausgegeben, die aktuelle Revision 3 wurde 1999 veröffentlicht. Embedded C++ ist als Untermenge von C++ definiert, wobei auf folgende Eigenschaften von C++ verzichtet wurde:
- Mehrfachvererbung
- Virtuelle Basisklassen
- Typüberprüfung zur Laufzeit
- Die Typumwandlungskonstrukte (static_cast, dynamic_cast, reinterpret_cast und const_cast)
- Der Spezifizierer mutable
- Namensräume
- Ausnahmen (Exceptions)
- generische Programmierung (Templates)
Kritik
Die Sprache wurde insbesondere von erfahrenen C++-Programmierern abgelehnt, der bekannteste Kritiker ist der C++-Erfinder Bjarne Stroustrup. Stroustrup kritisiert hier vor allem den Verlust von C++-typischen Eigenschaften sowie die fehlende Unterstützung der C++-Standardbibliothek durch EC++. Des Weiteren warnt Stroustrup vor einer Entzweiung der Community um C++. Als Alternative nennt Stroustrup die Verwendung von Coding Standards für C++ und die Empfehlungen durch das ISO C++ Committee, um effizienten C++-Code für eingebettete Systeme zu erstellen.
Ein weiterer Kritikpunkt ist, dass Embedded C++ für die Anwendung auf 32-Bit-Prozessoren ausgelegt ist, anstatt sich auf den großen Markt der ressourcenschwachen 8/16-Bit-Prozessoren zu konzentrieren.
Der Embedded-C++-Standard wird nur von wenigen Compilern unterstützt.
Quellen
Weblinks
- offizielle Embedded C++ Homepage
- P. J. Plauger: Embedded C++: An Overview in: Embedded Systems Programming, Dezember 1997