Suchen

Die am weitesten verbreiteten Embedded-Programmiersprachen 2020

| Autor: Sebastian Gerstl

Zum sechsten Mal hat IEEE Spectrum seine alljährliche Übersicht der am meisten genutzten Programmiersprachen vorgestellt. Dabei wurden neben einem Allgemeinen separate Rankings für Web-, Desktop-, Mobile- und Embedded-Anwendungen präsentiert. Während Python und C weiter dominieren, stellt ein anderer C-Ableger den größten Verlierer der Rangliste dar.

Firmen zum Thema

Subjektiv betrachtet hat so ziemlich jeder Entwickler seine persönlichen Favoriten, wenn es um Programmiersprachen geht. Aber welche Programmiersprachen werden ganz speziell in Embedded-Software auch am häufigsten eingesetzt?
Subjektiv betrachtet hat so ziemlich jeder Entwickler seine persönlichen Favoriten, wenn es um Programmiersprachen geht. Aber welche Programmiersprachen werden ganz speziell in Embedded-Software auch am häufigsten eingesetzt?
(Bild: gemeinfrei / Pixabay )

Ob in Fahrzeugen, in Unterhaltungselektronik, der Medizintechnik oder der fertigenden Industrie: Embedded Software ist mittlerweile in nahezu jeder vorstellbaren Gattung von Elektro-Geräten anzutreffen. Dabei stellt die Entwicklung für Embedded Geräte Programmierer vor spezielle Herausforderungen, die beispielsweise für Web- oder Desktop-Anwendungen nicht gelten.

Die Programmierung für Embedded Systeme ist meist deutlich näher an der Hardware: Leistungs- und Energieeffizienz bei geringem Speicherbedarf stehen in der Regel im Vordergrund. Embedded-Applikationen müssen auch generell mit deutlich weniger Ressourcen, oft sogar ohne Bildschirm oder anders geartete grafische Darstellungsmöglichkeiten, auskommen. Infolgedessen besitzen sie in der Regel deutlich niedrigere Ansprüche an Usability - was nicht heißen soll, dass darauf generell verzichtet werden kann. Diese Voraussetzungen wirken sich direkt auf die Eigenschaften aus, die eine Programmiersprache erfüllen muss, um für die Embedded-Entwicklung sinnvoll in Betracht zu kommen.

Bildergalerie

Um sich ein Bild darüber machen zu können, welche Sprachen, zumindest wenn es nach bestehenden Programmierergewohnheiten geht, am praxistauglichsten sind, hat IEEE Spectrum ein Ranking über die in Embedded Software am häufigsten anzutreffenden Programmiersprachen erhoben. Das Fachblatt des Institute of Electrical and Electronics Engineers (IEEE) hat hierzu aus öffentlich einsehbaren Github-Repositorien insgesamt 300 unterschiedliche Programmiersprachen zusammengestellt und diese auf 52 eingegrenzt, die - unter anderem in Google-Suchen - den höchsten Bekanntheitsgrad aufweisen. Speziell für den Embedded-Bereich waren von diesen 52 Programmiersprachen immerhin noch 17 anzutreffen. Anhand von insgesamt 11 Metriken, darunter darunter Datenauswertungen von Twitter, GitHub und Stack Overflow, wurde daraufhin eine Gesamtpunktzahl erhoben. Dabei bekommt die am häufigsten angetroffene Programmiersprache einen Wert von 100 verliehen, während der Rest einen darauf bezogenen Anteilsmäßigen Wert erhält.

Das aktuelle Ranking der Embedded-Programmiersprachen 2020

Unter den drei Spitzenreitern hat es im Vorjahr kaum Veränderungen gegeben. Python dominiert weiterhin sowohl bei den Web-, als auch den Desktop- und Embedded-Anwendungen das Ranking und ist damit auch die Allgemein am häufigsten anzutreffende Programmiersprache. Platz zwei im Embedded-Umfeld nimmt weiterhin C ein, das im Index sogar um 0.2 Punkte zugelegt hat. Die dritte Position wird erneut von C++ beansprucht, das im Vergleich allerdings 0.5 Punkte verloren hat.

Die Top 10 der von IEEE Spectrum erhobenen Programmiersprachen, die am häufigsten in der Embedded-Entwicklung anzutreffen sind. Während sich bei den drei Spitzenreitern wenig verändert hat, ist die auf Wiring aufbauende Programmiersprache für Arduino-Bords immer häufiger anzutreffen. Größter Verlierer im Ranking ist C#.
Die Top 10 der von IEEE Spectrum erhobenen Programmiersprachen, die am häufigsten in der Embedded-Entwicklung anzutreffen sind. Während sich bei den drei Spitzenreitern wenig verändert hat, ist die auf Wiring aufbauende Programmiersprache für Arduino-Bords immer häufiger anzutreffen. Größter Verlierer im Ranking ist C#.
(Bild: spectrum.ieee.org)

Größter Verlierer ist C#: Hatte das vor etwa 20 Jahren von Microsoft eingeführte C-Derivat 2019 noch mit 74.5 relativen Punkten den vierten Platz verlegt, ist die Sprache nun mit einem Wert von nur noch 48.1 auf den siebten Rang abgerutscht.

Abgesehen davon gab es, zumindest im Embedded-Bereich, wenig Veränderungen gegenüber zum Vorjahr. Die immer beliebter werdende Entwicklungssprache für Arduino-Boards sowie die weiterhin im Embedded-Bereich bedeutenden Assemblersprachen sind auf die Positionen 4 und 5 vorgerückt. Auffällig ist auch die Platzierung von Rust Rust: Die 2015 erstmals in einer stabilen Version und somit vergleichsweise moderne Programmiersprache rückte ebenfalls um einen Platz nach vorne, liegt aber in ihrer Verbreitung mit 55.6 relativen Punkten ziemlich exakt auf Vorjahresniveau. Auch sonst hat sich im Vergleich zu 2019 bei der Verbreitung der angetroffenen Programmiersprachen wenig verändert.

Elixir und weitere Überraschungen

Ein Neuzugang im Embedded-Ranking ist Elixir, das primär auf skalierende Software mit hohem Datendurchsatz ausgelegt ist. Mit 35.8 Punkten schafft es die Erweiterung der Erlang-Programmiersprache aus dem Stand auf den 11. Platz. Erlang selbst ist nach C# der größte Verlierer (von 23.9 auf 18.3 Punkte) und nimmt im Ranking nun den 17. und letzten gelisteten Platz ein.

Der nächste größere Gewinner im Ranking ist streng genommen Ladder logic, das aber trotz einer Zunahme um 7.3 relative Punkte weiterhin unverändert auf dem niedrigen sechzehnten Platz liegt. Ähnlich ergeht es Ada, das um sechs Punkte auf immerhin 32.8 zugelegt hat und nun den 12. Platz einnimmt. Die größte Überraschung ist wahrscheinlich Forth: Die bereits seit den 1970ern vertretene und als angestaubt geltende stackbasierte Programmiersprache konnte im Vergleich zum Vorjahr um 5.4 Punkte zulegen.

Allgemein betrachtet liegt Java weiter auf Platz 2

Zieht man alle Anwendungsfelder in Betracht dominiert im Ranking von IEEE Spectrum Python vor Java, C, C++ und schließlich R auf dem fünften Platz, wobei sich die starke Platzierung von R ausschließlich aus dem Desktop-Bereich erklärt.

Bildergalerie

Hier unterscheidet sich das IEEE-Ranking etwas vom monatlich aktualisierten TIOBE-Index. Laut diesem hat das klassische C wieder an Popularität gewonnen und nimmt vor Java die Spitzenposition ein, während Python nur auf Rang 3 liegt. R hat zwar auch bei TIOBE deitlich zugelegt, rückt aber nur vom zuvor 20. auf den 8. Rang vor. Statt dessen sieht man im TIOBE-Ranking C# weitererhin nach C++ auf dem fünften Platz. Bei TIOBE beruhren die Bewertungen nach eigenen Angaben weniger aus Open-Sorce-Quellen wie bei IEEE Spectrum. Statt dessen beruft sich das Ranking hier auf die Zahl qualifizierter Ingenieure weltweit und angebotener Kurse.

Egal welches Listing man bevorzugt, eines gilt es immer zu bedenken: Es geht bei diesen Rankings nicht darum, was die objektiv 'beste' Programmiersprache ist, sondern ausschließlich um den Verbreitungsgrad etablierter Entwicklersprachen.

(ID:46831920)

Über den Autor