Funktionale Programmierung mit Elm
Worum geht es hier?
Funktionale Programmierung wurde entwickelt, um Programme durchschaubarer zu gestalten. Funktionale Programmierung verzichtet hierzu auf einige Konzepte, die in der imperativen und der hierauf basierenden objektorientierten Programierung zum Standard gehören. Als Folge ergibt sich ein Programmieransatz, der sich vom klassischen imperativen unterscheidet: Anstatt Programme (Algorithmen) zu entwickeln, die schrittweise vorschreiben, wie man zur Lösung gelangt, versucht man, das Problem mit Hilfe von Funktionen möglichst präzise zu erfassen.
Auf der Webseite zu Elm findest du folgende Aussage über die Sprache:
Elm behauptet also von sich selbst eine angenehme Programmiersprache für zuverlässige Webanwendungen zu sein. Dass Elm eine funktionale Sprache ist, steht hier also gar nicht im Vordergrund, sondern ist aus Sicht des Hauptentwicklers von Elm eher eine Konsequenz davon, dass er eine angenehme und zuverlässige Sprache entwickeln wollte.
Elm wird benutzt, um dynamische Webseiten zu entwickeln, ist also eine Alternative zu Javascript. Da Webbrowser Elm-Programme nicht direkt ausführen können, müssen diese zuerst in JavaScript übersetzt (compiliert) werden. Durch die Art und Weise wie Elm funktioniert, werden - im Gegensatz zu JavaScript - Laufzeitfehler (das Programm "stürtzt ab") vermieden, und Fehler in der Programmierung in vielen Fällen durch den Compiler erkannt.
Mit Elm lassen sich beliebig einfache oder komplexe Anwendungen realisieren, wie z.B. auch diese Snake-Variante:
(Quelle)Voraussetzungen
Du kannst dieses Kapitel als Einführung in die Programmierung nutzen, ohne Erfahrungen in irgendeiner Programmiersprache zu haben. Du kannst es aber auch als Einführung in die funktionale Programmierung nutzen, wenn du schon Vorerfahrungen hast. Der Vergleich zu der dir bekannten Programmiersprache wird dir interessante Erkenntnisse liefern und auch deinen Programmierstil in der anderen Sprache verbessern. In jedem Fall solltest du Grundkenntnisse in HTML besitzen. Wenn du ein paar grundlegende Tags kennst und weißt was Attribute sind, reicht das. Du kannst deine Grundkenntnisse im ersten Elm-Projekt überprüfen.