Post Digitalesumfeld

“Conway’s Game Of Life” in Elixir

Andreas • • uncategorized

Die Programmiersprache “Erlang” ist in letzter Zeit wieder mehr im Gespräch, vor allem wenn es um Funktionale Programmierung geht. Die Syntax schreckte mich jedoch immer ab. Bei .Net Rocks hörte ich das erste Mal über die Programmiersprache Elixir, die auf der Erlang-VM ausgeführt wird. Die Besonderheit ist, dass die Syntax sehr stark an Ruby angelehnt ist und damit für viele verständlich sein sollte. Mit kleinen Ruby-Kenntnissen und ohne Erfahrung in Funktionaler Programmierung machte ich mit Sicherheit die schönsten Anfängerfehler. Hier eine Zusammenfassung meiner Eindrücke.

Rekursion und Schleifen

In allen mir bekannten Programmiersprachen gibt es Schleifen. In Elixir gibt es jedoch nur Funktionen die als Schleife genutzt werden können oder die Möglichkeit der Rekursion. Damit hatte ich nicht gerechnet und dieser Umstand hat mir sicher einen Abende an Nachforschungen gekostet. Die Macher der Programmiersprache haben jedoch an uns Programmierer gedacht und ein eigenes Getting-Startet Kapitel für Rekursionen gemacht in dem die Verwendung sehr gut erklärt wird.

Zustand und Agents

Für dieses Aufgabe wäre es nicht notwendig gewesen den Zustand des Spielbrettes extra zu Verwalten, aber da es hier um den Weg und nicht das Ziel ging durfte diese Funktion aus dem Erlang OTP-Package nicht fehlen.
Die Implementierung war äußerst einfach. Das Agentmodul verfügt eigentlich nur über drei wichtige Funktionen:

comments powered by Disqus