Im Alltag der imperativen Programmierung mit JavaScript bringen ungeplante Programmänderungen die gewohnten Abstraktionsmechanismen mitunter an ihre Grenzen. In diesem Buch wird ein Einstieg in die funktionale Programmierung dargeboten, deren Ansatz sich von den übrigen Arten der Programmierung unterscheidet und zu Unrecht als schwierig zu verstehen gilt.
Aufbruch in die Welt der funktionalen Programmierung und der Gewürze
Es geht um die praktischen Grundlagen des funktionalen Programmierens und immer wieder Analogien zum Kochen eines Currys, denn gutes Programmieren ist wie gutes Kochen. Bekannte funktionale Programmiersprachen sind Lisp, Haskell oder ML. Oft entstammen diese einer akademischen Welt und sind oft nur in bestimmten Bereichen relevant. Im Gegensatz dazu verwendet dieses Buch JavaScript, die Basis der offenen Web-Standards. Die auffälligste Besonderheit bei der funktionalen Programmierung besteht darin, dass Programmfunktionen wie mathematische Funktionen oder auch Kochrezepte aufgefasst werden.
Funktionen höherer Ordnung
Ein wichtiger Aspekt beim funktionalen Programmieren sind Funktionen höherer Ordnung. Dabei handelt es sich um Funktionen, die wiederum Funktionen als Argumente erhalten. Die Leserinnen und Leser lernen diese als Basisgrundlage kennen, um dann Funktionen höherer Ordnung auf Arrays anzuwenden. Anschließend führt die kulinarische Reise zu dem Thema Rekursion, bevor die event-basierte Programmierung und Continuations behandelt werden.
Theorie der funktionalen Programmierung
In den ersten Kapiteln kann ohne Paradigmenwechsel und ohne das Erlernen einer neuen Programmiersprache in die funktionale Programmierung eingestiegen werden. In den anschließenden Kapiteln wird die theoretische Seite beleuchtet; zunächst das Lambda-Kalkül, die Grundlage fast aller funktionaler Programmiersprachen. Datentypen und Monaden, mit denen in rein funktionalen Programmiersprachen Seiteneffekte gekapselt werden, tauchen auf. Abgerundet wird alles durch einen Ausblick auf weitere Sprachen. In Nebenrollen haben Vindaloo-Curry, Auberginen und ein Mango-Lassi ihren Auftritt. Namaste und guten Appetit!