Das Curry-Buch - Funktional programmieren lernen mit JavaScript

Das Curry-Buch - Funktional programmieren lernen mit JavaScript

Stefanie Schirmer, Hannes Mehnert, Jens Ohlig
1.Auflage Juni 2013
ISBN 978-3-86899-369-1
208 Seiten, gebundene Ausgabe
erschienen bei O’Reilly

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 geboten, deren Ansatz sich von den übrigen Arten der Programmierung unterscheidet und die zu Unrecht als schwierig zu verstehen gilt.

Es geht um die praktischen Grundlagen des funktionalen Programmierens, ergänzt durch 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 besonders dort verbreitet. Im Gegensatz dazu verwendet dieses Buch JavaScript, die Basis der offenen Web-Standards. Die auffälligste Besonderheit bei der funktionalen Programmierung ist, dass Programmfunktionen wie mathematische Funktionen oder auch Kochrezepte aufgefasst werden.

In den ersten Kapiteln kann direkt in die funktionale Programmierung eingestiegen werden, ein sanfter Paradigmenwechsel ohne das Erlernen einer neuen Programmiersprache. 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 Grundlage 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.

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!