31.05.2017 | Fachthema

Kleine Embedded Sprachkunde - Teil 1

Verwendete Tags:
Embedded System
Embedded Linux
Software
Programmierung

Der allgemeine Sprachgebrauch

Welche Programmiersprache für Embedded Systeme?

Um Programme zu erstellen muss man eine Programmiersprache erlernen. Das ist nichts anderes als eine Sprache, in der man dem Computer Zeile für Zeile befiehlt, was er zu tun hat. Bei Embedded Systemen ist das nicht anders. Im Laufe der Geschichte der Computertechnik wurden sehr viele Programmiersprachen erfunden. Einige dieser Sprachen hatten ganz spezielle Vorteile um Aufgabenstellungen einer bestimmten Branche möglichst elegant zu lösen. Für kaufmännische Anwendungen gibt es z.B. COBOL, für die wissenschaftliche Programmierung FORTRAN. Weiterhin gibt es sehr universell einsetzbare Programmiersprachen, wie C, C++ oder Java. Diese sind auch für die Programmierung von Embedded Systemen sehr beliebt.

Die Sprache C ist in Embedded Systemen wohl immer noch am weitesten verbreitet. Das liegt vor allem daran, dass man mit C sehr hardwarenahe programmieren kann. Mit einfachen Sprachkonstrukten kann man auf Register von elektronischen Bausteinen zugreifen, ohne die Maschinensprache des Prozessors direkt zu nützen. C ist sehr einfach und flexibel, und es gibt fast nichts was man damit nicht machen könnte. Gerade darin liegt aber auch der Haken. Je nach Programmierstil können C-Programme sehr schwer lesbar werden und Fehler sehr schwer zu erkennen sein. Viele Unternehmen geben daher ihren Entwicklern einen engen Rahmen vor, wie sie C-Programme zu schreiben haben, und welche Sprachelemente verwendet werden dürfen. Es gibt sogar eigene, abgespeckte C-Varianten wie MISRA-C für die Automobilindustrie, um robuste und lesbare Programme zu schaffen.

Mit steigender Rechenleistung und mehr verfügbarem Speicher wurden C++ und Java auch in Embedded Anwendungen immer populärer. Es handelt sich dabei um objektorientierte Programmiersprachen. Objektorientierung kommt der Denkweise des Menschen näher und erlaubt es Programme modularer und abstrakter zu erstellen. Weiterhin erlaubt es die objektorientierte Programmierung einmal erstellte Programmteile eleganter in anderen Anwendungen wieder zu verwenden. Dieses Abstrahieren „näher zu Menschen“ erkauft man sich mit größerem Overhead, sodass in sehr eng begrenzten und hoch optimierten Embedded Systemen weiterhin C zum Einsatz kommt. Moderne grafische Bedienoberflächen werden heute aber auch in Embedded Anwendungen nur mehr sehr selten ohne Objektorientierung mit C++ oder Java erstellt.

 

In "Kleine Embedded Sprachkunde - Teil 2" erfahren Sie mehr über Regeln und Strukturen von Programmiersprachen.

Kommentare

0