Elixir 30.09.2013, 00:00 Uhr

Die nächste heiße Programmiersprache?

Kaum jemanden holt die Entwicklung einer neuen Programmiersprache hinter dem Ofen hervor. Nach dem Motto "Es ist doch wieder nur eine neue Sprache" winken viele Entwickler ab. Könnte Elixir eher die Aufmerksamkeit der Entwickler bekommen?
Die Suche nach der ultimativen Sprache geht weiter. Wahrscheinlich wird sie auch nie abgeschlossen. Könnte Elixir http://elixir-lang.org/ ein heißer Kandidat auf die Auszeichnung sein? Bei Elixir handelt es sich um eine funktionale Programmiersprache, deren Entwicklung im Jahr 2011 von José Valim begonnen wurde. Elixir sollte die Vorteile von Erlang nutzen, die Entwicklung aber einfacher und vor allem produktiver machen. Wir schreiben inzwischen das Jahr 2013. Wie sieht das Resultat aus?

    "Sorry folks, #nodejs isn't the hottest shit on the block anymore. That title went on to @elixirlang"

meint dazu Björn Rochel @bjoernrochel auf Twitter.

Die heißeste Kiste überhaupt? Heißer als Node.js? Was macht Elixir so interessant? Die kurze Antwort darauf lautet: Erlang. Die lange Antwort lautet: Erlang.

Und die ganz lange Antwort? Erlang ist eine Sprache, die eigentlich für die massiv parallele und fehlertolerante Verarbeitung in Telefonanlagen entwickelt wurde. Die Erlang-Plattform hat parallele Verarbeitung, Skalierbarkeit und Echtzeit-Antwortverhalten schon eingebaut.

Bei heutigen Anforderungen an Serverplattformen kommen diese Eigenschaften gerade recht. Verbunden mit seinen anderen Eigenschaften öffnet Elixir ein Feld für mächtige Sprachkonstrukte:

Enum.map([1,2,3], fn(x) -> x * x  end)

etwa wendet die Funktion auf alle Elemente der Collection an. Foreach oder andere Schleifen sind nicht nötig. Das Ergebnis ist die Liste [1, 4, 9].

Aber gibt des Elixir denn für .NET? Nein, die Sprache gibt es leider noch nicht für die Common Language Infrastrcture. Auch bei Erlang muss .NET derzeit noch passen. In einer Anfrage auf Codekicker kam zwar schon 2011 ein ganzer Thread an Posts zustande, aber die Antworten sagten im Prinzip alle das gleiche: Nein, es gibt keine Implementation von Erlang für die CLI.

So ist der Stand auch heute: Erlang ist auf .NET nicht verfügbar. Interessanterweise gibt es aber erste Versuche, Erlang auf die Java Virtual Machine zu portieren. Beispielsweise über das Projekt Erjang http://erjang.org/.

Aber den hohen Ansprüchen an das Laufzeitverhalten von Erlang ist der Java-Port unter Umständen nicht gewachsen. Dafür hat Jörg W. Mittag folgende Erklärung auf codekicker:

Erjang hat da eine recht simple Antwort gefunden: sie sagen explizit, dass sie, da sie den Unwägbarkeiten der JVM ausgeliefert sind, diese Garantien nicht bereitstellen können. Dafür liefern sie bessere Performance.

Auch wenn .NET noch nicht unterstützt wird, lohnt sich ein Blick auf Erlang. Denn wie schon geschrieben passen die Eigenschaften des Ökosystems ideal auf die heutigen Anforderungen. Wer sich kundig machen will, dem schlägt Mike Bild @mikebild auf Twitter folgende Site vor:

    @BjoernRochel my current fav to learn all about erlang/elixir - http://www.theerlangelist.com/2013/01/actors-in-erlangelixir.html … //@elixirlang

Und zu Elixir gibt es inzwischen ein Buch (http://pragprog.com/book/elixir/programming-elixir) und ein Video von Buchautor Dave Thomas, das in wenigen Minuten die zentralen Punkte der Sprache hervorhebt http://www.youtube.com/watch?v=hht9s6nAAx8.


Das könnte Sie auch interessieren