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:

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

  1. Stroustrup: FAQ - What do you think of EC++?
  2. JSF air vehicle C++ coding standards
  3. Technical Report on C++ Performance
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.