Embedded C++
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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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++.[1] Als Alternative nennt Stroustrup die Verwendung von Coding Standards für C++[2] und die Empfehlungen durch das ISO C++ Committee[3], 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
[Bearbeiten | Quelltext bearbeiten]- ↑ Stroustrup: FAQ - What do you think of EC++?
- ↑ JSF air vehicle C++ coding standards
- ↑ Technical Report on C++ Performance
Weblinks
[Bearbeiten | Quelltext bearbeiten]- offizielle Embedded C++ Homepage
- P. J. Plauger: Embedded C++: An Overview in: Embedded Systems Programming, Dezember 1997