„Der Wechsel zu Elixir“
(leemeichin.com)Wechsel zu Elixir
- Im neuen Job wird Elixir als wichtigste Backend-Sprache verwendet.
- Es gab keine Erfahrung mit Elixir oder Erlang, aber dank der Ruby-ähnlichen Syntax ließ es sich leicht erlernen.
- Man vermeidet die Probleme der Zustandsverwaltung in objektorientierten Sprachen und profitiert von den Vorteilen von Immutability und funktionaler Programmierung.
Vorteile von Elixir
- Code mit veränderlichem Zustand ist schwer zu warten.
- Elixir unterstützt wie Ruby DSLs, verwendet jedoch Compile-Time-Makros, um Code zur Laufzeit zu erzeugen.
- Auch ohne Tests zu schreiben lassen sich Fehler bei der Nutzung von Makros bereits zur Compile Time erkennen.
Syntax und Ausdrücke
- Die Pipeline-Syntax von Elixir ist gut, aber die „threading“-Operatoren von Clojure werden bevorzugt.
- Mit dem
with-Ausdruck lassen sich komplexe Funktionen in einen Erfolgs-Pfad und einen Teil zur Fehlerbehandlung aufteilen.
Ausnahmebehandlung
- In Ruby ist es üblich, Ausnahmen für den Kontrollfluss zu verwenden.
- In Elixir werden statt Ausnahmen eher Result-/Either-Monaden verwendet, sodass
okunderrorals Rückgabewerte dienen.
Meinung von GN⁺
Das Wichtigste an diesem Artikel ist die Freude am Programmieren mit Elixir und die einfache Wartbarkeit. Interessant ist, wie die Sprache die komplexen Probleme der Zustandsverwaltung in objektorientierten Sprachen löst und durch Immutability und funktionale Programmierung Stabilität und Lesbarkeit des Codes verbessert. Besonders das Makro-System, mit dem sich Fehler schon zur Compile Time finden lassen, bietet Entwicklern eine verlässlichere Umgebung zum Schreiben von Code. Diese Eigenschaften dürften auch bei angehenden Software Engineers das Interesse am Erlernen von Elixir wecken.
1 Kommentare
Hacker-News-Kommentare
Das Interesse an der Sprache Elixir ist in den letzten Wochen durch YouTube-Videos gestiegen.
Als wichtiger Vorteil von Elixir/Erlang wird die Einfachheit von Background-Jobs hervorgehoben.
TaskHTTP-Anfragen verarbeiten lassen, ohne den Server zu blockieren.Der Vortrag „The Soul of Erlang and Elixir“ von Sasa Juric unterstreicht die Stärke der Sprache.
Geteilte Erfahrung mit Erlang seit 1991.
Das Lernen und Verwenden von Elixir macht Spaß, und es wird Zufriedenheit mit der Schlichtheit und den Fähigkeiten von BEAM/OTP ausgedrückt.
Als Vorteil von Elixir werden der Spaßfaktor ähnlich wie bei Ruby sowie die Immutable- und funktionalen Eigenschaften hervorgehoben, die die Nachteile der objektorientierten Programmierung beseitigen.
Es wird auf ein Missverständnis hingewiesen, Exceptions in Ruby als Control Flow zu verwenden.
Aus Sicht eines F#-Nutzers wird die Verwirrung durch Elixir ausgedrückt.
Aus Nutzungserfahrungen mit Elixir werden die leichte Erlernbarkeit, Pattern Matching und die Vorteile unveränderlicher Daten hervorgehoben.
Es wird vor zu frühem Optimismus gegenüber neuen Technologien gewarnt.