Mittlerweile stehen Entwicklern über 1.000 Programmiersprachen zur Verfügung. Jede hat ihren besonderen Fokus. Gerade was Effizienz und Performance angeht, schraubt das Internet der Dinge die Messlatte nach oben. Ein Überblick über die Herausforderungen, denen Programmierer hier gegenüberstehen.
Es gibt noch keine einheitliche Progammiersprache für das IoT. Man bedient sich also gängiger Sprachen, die den Herausforderungen im Internet der Dinge gerecht werden. Populär sind dabei Java und
C beziehungsweise C++. Aber auch Elixir gewinnt zunehmend an Bedeutung. Insgesamt erfordert die Entwicklung von IoT-Lösungen eine Vielzahl von Sprachkenntnissen. Die Wahl der Sprache hängt dabei von der zu erfüllenden Aufgabe sowie von der Leistung des Gerätes ab.
Aufbau einer IoT-Andwendung
Ein komplettes IoT-Programm von Endgerät bis User Interface umfasst mehrere einzelne Applikationen:
Applikation im IoT
Die „reine IoT-Applikation“ umfasst die ersten beiden Punkte. Sie hat in der Regel eine Client-Server-Architektur. Das IoT-Device ist dabei der Client, der mit einem Endpunkt in der Cloud oder auf einem Server über ein bidirektionales Protokoll kommuniziert. Auf dem Server werden die Daten dann in eine Datenbank geschrieben, wo sie zur weiteren Nutzung zur Verfügung stehen. Ein einfaches Beispiel wäre, wenn der Helligkeitswert eines Sensors unter eine bestimmte Grenze fällt, wird das Event ausgelöst, das Licht anzuschalten.
Challenge: Schnelligkeit und Speicher
Die größte Herausforderung im Internet der Dinge ist es, die Reaktions- beziehungsweise Verarbeitungszeit möglichst kurz zu halten, sodass Applikationen in Echtzeit reagieren. Die Programmiersprache muss also enorm schnell sein. Hinzu kommt, dass viele vernetzte Geräte im direkten Automatisierungsumfeld über nur sehr begrenzte Rechenkraft und Speicher verfügen. Die Sprache muss also ressourcenfreundlich sein, um auf beispielsweise industriellen Microcontrollern oder auch heimischen Microwellen zu laufen.