Embedded-Programmierung im Umbruch

Seite 2: Fazit

Inhaltsverzeichnis

Etablierte Entwickler von Embedded-Systemen stehen diesen Gedanken mit Sicherheit alles andere als erfreut gegenüber. Dabei handelt es sich – zumindest bis zu einem gewissen Grad – um eine logische Abwehrreaktion, die die Verteidigung der eigenen Pfründe avisiert. Solange das Entwerfen von Embedded-Steuerungen eine komplizierte Aufgabe darstellt, lässt sich mit Beratungsdienstleistungen viel Geld verdienen. Wenn erst einmal jeder durchschnittliche Programmierer zum Realisieren eingebetteter Steuerungen befähigt ist, sieht die Situation völlig anders und für die Berater alles andere als befriedigend aus.

Viele Unternehmen gehen beim Verteidigen ihrer Pfründe sogar soweit, dass sie ihre Kunden mit Absicht schädigen. Der Einsatz programmierbarer Suchköpfe könnte im Rüstungsbereich zu einem Quantensprung führen – die etablierten Unternehmen setzen nur deshalb nicht auf diese Technologie, da sich ihre Margen dadurch wesentlich verschmälern würden.

Eine alte Weisheit im Bereich des Software Engineering besagt, dass es keine silbernen Kugeln gibt. Das gilt auch für die Entwickler von Embedded-Systemen: Bei einem für die Massenfertigung vorgesehenen Produkt ergibt das Einsparen einiger Cents an Hardwarekosten Sinn. In diesem Fall wäre die Verwendung von Assembler und einem "kleinen" Controller mit Sicherheit gerechtfertigt – für ein in Kleinserie produziertes System sieht die Kalkulation naturgemäß völlig anders aus.

Daraus folgt, dass das Erlernen einer Assembler-Sprache meist keine vergebene Liebesmühe ist. Ein in Elektronik versierter Programmierer findet in den häufigsten Fällen jede Menge an Aufträgen. Für einen in Hochsprachen entwickelnden Programmierer ist die Lage weitaus weniger eindeutig: Heutige Compiler sind so weit von der Hardware entfernt, dass der Assembler-Code kaum mehr nachvollziehbar ist. Zudem unterscheidet sich die Hardware eines ARM- oder x86-Prozessors so stark von einem primitiven Mikrocontroller, dass Abstraktionen nicht mehr ohne weiteres möglich sind.

Die von Banzi vertretene Sicht der Dinge ist genauso falsch wie die des pensionierten Managers. Der beste Weg liegt, wie so oft, in der Mitte. Auch wenn es für den einen oder anderen mit Assembler aufgewachsenen Veteranen schwer zu akzeptieren ist: Die Branche lebt heute in einer Zeit, in der Speicher und Rechenleistung nur mehr eine untergeordnete Rolle spielen. Wer seine Programmiererkarriere unter Palm OS begann, zeichnete in der Anfangszeit Speicherlayouts auf kariertes Papier. Beim Palm IIIc war das nicht mehr notwendig – heutige Smartphones haben ein oder zwei Gigabyte Arbeitsspeicher.

Der Embedded-Bereich erweist sich aufgrund langer Produktzyklen und hoher Fehlschlagrisiken als vergleichsweise innovationsresistent. Trotzdem gilt auch hier, dass die Zeit des "Bitzählens" vorbeigeht. Schnelle Arduinos rechnen Kreise um klassische Mikrocontroller. Einplatinen-Computer wie Arduino, Raspberry Pi und BeagleBone bieten Rechenleistungen, die vor zehn Jahren im Workstation-Bereich üblich waren.

Avioniker erlebten vor einigen Jahrzehnten eine ähnliche Umstellung: Analogrechner galten als erprobt, konnten aber mit den Leistungen ihrer digitalen "Kollegen" nicht mithalten. Im Laufe der Zeit stellten alle Unternehmen um – wer als Erster "sprang", konnte sich im Rennen um die Technologieführerschaft bessere Plätze sichern.

Tam Hanna
befasst sich seit der Zeit des Palm IIIc mit Programmierung und Anwendung von Handheldcomputern. Er entwickelt Programme für diverse Plattformen, betreibt Onlinenews-Dienste zum Thema und steht für Fragen, Trainings und Vorträge gern zur Verfügung.
(ane)