Zum Inhalt Zum Hauptmenü

ZIS BEHIND THE SCENES – Elixir die nicht mehr so geheime Geheimzutat

In diesem Jahr haben wir uns bei ZENNER IoT Solutions eine besondere Aktion ausgedacht. Statt immer nur über unsere Produkte und Projekte zu berichten, was wir natürlich liebend gerne tun, werden wir über den Sommer regelmäßig in der Rubrik “ZIS Behind the Scenes” einen Einblick in den “Maschinenraum” geben.

In dieser Artikelserie werden wir über die Technologie und die Menschen hinter den Produkten berichten. In dieser Woche fangen wir  an mit unserer geliebten Programmiersprache („Elixir die nicht mehr so geheime Geheimzutat“) und wünsche viel Spaß beim lesen.

Stackoverflow, die größte Online-Community für Softwareentwickler fragt einmal im Jahr in einer großen Umfrage die Mitglieder welche Programmiersprachen und Web-Frameworks von den Entwicklern am meisten geliebt werden. In diesem Jahr gab es dabei zwei große Überraschungen: Elixir, eine nicht so bekannte Programmiersprache landete auf dem zweiten Platz bei den Programmiersprachen und das Phoenix-Framework, welches das Web-Framework für Elixir ist, landete auf dem ersten Platz bei den Web-Frameworks (https://survey.stackoverflow.co/2022/ ).

Uns bei der ZENNER IoT Solutions allerdings hat das weniger überrascht, setzen wir doch seit der Gründung in 2017 für alle unsere Produkte, wie ELEMENT IoT und ELEMENT Go, auf Elixir und das Phoenix-Framework.

Für uns ist bei Elixir der Name Programm, Elixir ist unsere “Secret Sauce”, unsere Geheimzutat. Um das zu erklären, müssen wir etwas ausholen und etwas mehr über Elixir erzählen. Elixir gibt es seit ziemlich genau 10 Jahren und damit handelt es sich noch immer um eine vergleichsweise junge Programmiersprache. Allerdings basiert Elixir auf eine älteren, erprobten Technologie, der Programmiersprache Erlang nebenst zugehöriger Open Telecommunication Platform, kurz Erlang/OTP. Erlang wird seit 1986 vom Schwedischen Telekommunikationsriesen Ericsson entwickelt und gepflegt.

Erlang/OTP wurde für den Einsatz in Netzwerkequipment entwickelt, bei dem hohe Fehlertoleranz, Nebenläufigkeit und Verfügbarkeit wichtig ist. Nach Angaben von Ericsson gibt es praktisch kein Mobilfunkequipment in dem nicht Erlang eingesetzt wird, z.B. auch durch T-Mobile. In den letzten Jahren hat es Erlang/OTP außerdem zu einiger Berühmtheit in IT-Kreisen gebracht. Laut den Machern von WhatsApp können Sie mit einem sehr kleinen Team und wenigen Servern das riesige Nachrichtenaufkommen zuverlässig bewältigen, weil sie genau dieses Erlang/OTP einsetzen.

Elixir ist nur eine moderne Syntax für Erlang. Das Entscheidende ist, dass auch Elixir die Open Telecommunication Plattform nutzt und damit die Eigenschaften bzg. Fehlertoleranz, Nebenläufigkeit und Verfügbarkeit erbt. Tim Bray, Direktor für Webtechnologien bei Sun Microsystems, sagte in seiner Keynote auf der O’Reilly Open Source Convention im Juli 2008:

Wenn jemand zu mir käme und mir eine Menge Geld dafür zahlen wollte, dass ich ein groß angelegtes Nachrichtenverarbeitungssystem baue, das wirklich ständig verfügbar sein muss und niemals jahrelang ausfallen darf, würde ich mich ohne zu zögern für Erlang entscheiden, um es zu bauen

Tim Bray, ehemals Direktor für Webtechnologien bei Sun Microsystems

Wir würden das so unterschreiben, mit der Ergänzung, dass wir die moderne Syntax von Elixir bevorzugen, so wie eine immer länger werdende Liste von erfolgreichen Unternehmen (https://serokell.io/blog/elixir-companies, https://elixir-lang.org/cases.html ).

Apropos: „Ein ständig verfügbares Nachrichtenverarbeitungssystem“ – das hört sich doch an wie ELEMENT IoT.