Menü
Developer

17. Version der Programmiersprache Erlang erschienen

Erlang/OTP blickt inzwischen auf einen langen Werdegang zurück. Die Sprache gibt es seit 1986 und entstand, um bei Ericsson die Entwicklung robuster TK-Systeme zu ermöglichen. Nun wurde die Version 17.0 freigegeben.

vorlesen Drucken Kommentare lesen 39 Beiträge

Was Kennern der Programmiersprache am neuen Erlang/OTP 17.0 sofort auffällt, ist das Schema für Versionsnummern. So hatte das vorige Release den Namen R16B03-1, also das 16. Release in Produktionsreife, daher die Bezeichnung B, im dritten Service Release mit dem ersten Patch. Dies weicht von gängigen Schemata ab, die die individuellen Bestandteile einfach durch Punkte trennen. Diesem folgt nun auch Erlang/OTP mit dem Release 17.0. Und das entsprechende dritte Minor Release mit dem ersten Patch, so es je kommt, würde dann 17.3.1 heißen.

Doch dies ist nicht die wichtigste Neuigkeit. Hierbei handelt es sich eher um die Erweiterung der bisher durch Tupel und Listen geprägten Datentypen um Maps. So manch andere Sprache bringt diese praktische Speicherstruktur bereits von Haus aus mit, in Erlang/OTP wurde sie bisher nur als Modul zur Verfügung gestellt. Neben der Abbildung von Schlüsseln auf Datenmengen sollen Maps auch die Rolle der bisher unglücklich realisierten Records übernehmen. Daher ist neben dem Zugriff auf individuelle Elemente auch das Pattern Matching möglich.

Die zur Iteration über die Inhalte notwendige Comprehension ist leider noch nicht in diesem Release enthalten. Die Notation fügt sich gut in die bestehende Erlang-Syntax ein, nur die Unterscheidung zwischen dem Einfügen und dem Aktualisieren von Werten fällt auf. Dies ist als Sicherheitsfeature gedacht, die Aktualisierung eines nicht vorhandenen Schlüssels erzeugt einen Fehler. So werden Tippfehler verringert.

Zweites wichtiges Feature ist die Umstellung des Standard-Encodings und der Quellen von ISO-8859-1 auf UTF-8. War der aus der Unix-Welt bekannte 8-Bit-Zeichensatz anfangs noch für viele Lösungen hinreichend, ist im heutigen Zeitalter internationaler Anwendungen mehr gefragt. Hier bietet UTF-8 wie auch die insgesamt verbesserte Unicode-Unterstützung die richtige Basis.

Weitere Verbesserungen betreffen optionale Namen für eigentlich anonyme Funktionen, sodass diese sich nun auch rekursiv aufrufen können, die Netzwerkprogrammierung, ASN.1, die Garbage Collection und ein optionales besseres Scheduling. Abgerundet wird das neue Release von einer Portierung auf das Echtzeit-Betriebssystem Enea OSE. Diese ist jedoch noch nicht vollständig, die Netzwerkprogrammierung und somit auch die Verteilung von Erlang/OTP selbst fehlen noch.

Erlang hat inzwischen eine treue Anhängerschaft gefunden, was trotz der eigenwilligen Syntax nicht verwundert. Denn hierfür entlohnt die Plattform mit bedeutenden Vorteilen, etwa einem leichtgewichtigen Prozessmodell, das Tausende nebenläufig arbeitende Prozesse auf Mehrkernsysteme und SMP-Rechner verteilt. Die Kommunikation zwischen diesen Prozessen erfolgt durch den Versand von Nachrichten an die jeweilige Prozess-ID und funktioniert auch über die Grenzen von virtuellen Maschinen und Rechnern hinweg.

Gleichzeitig können sich die Prozesse gegenseitig überwachen und im Fehlerfall reagieren, beispielsweise mit einem Neustart. Darüber hinaus lassen sich Softwarekomponenten zur Laufzeit aktualisieren. Ein Beispiel für den Einsatz von Erlang ist das kürzlich von Facebook übernommene WhatsApp. Hier haben 32 Entwickler mit Erlang/OTP eine Messaging-Plattform für über 450 Millionen Nutzer schaffen können. (Frank Müller) / (ane)