JavaScript Allongé
JavaScript Allongé
Zusammenfassung:
Einleitung
Das Buch „JavaScript Allongé“ (Autor: Reginald Braithwaite, 2019, 520 Seiten) ist kein weiteres Nachschlagewerk zur Syntax oder eine Rezeptsammlung. Es ist ein tiefer Einstieg in die funktionale Programmierung mit JavaScript, geschrieben für diejenigen, die die Grundlagen bereits beherrschen und verstehen möchten, wie man sauberen, ausdrucksstarken und leicht wartbaren Code schreibt. Der Buchtitel ist ein Wortspiel: „allongé“ (franz. „verlängert“) verweist auf das Konzept der „langen“ Funktionen und Closures sowie auf den Erzählstil, der komplexe Themen nach und nach enthüllt.
Worum es in diesem Buch geht
Das Buch widmet sich der funktionalen Paradigma in JavaScript. Braithwaite führt den Leser konsequent von grundlegenden Konzepten (Funktionen als First-Class-Objekte, Closures) bis hin zu fortgeschrittenen Techniken: Funktionskomposition, Currying, partielle Anwendung, Rekursion, Monaden und die Arbeit mit Asynchronität durch funktionale Ansätze. Besonderes Augenmerk liegt darauf, wie man Code ohne Seiteneffekte schreibt, indem man unveränderliche Datenstrukturen und reine Funktionen verwendet. Jedes Kapitel enthält zahlreiche Beispiele mit Node.js, die sofort ausgeführt und experimentell erkundet werden können.
Für wen ist dieses Buch
Das Buch richtet sich an Programmierer, die bereits mit den Grundlagen von JavaScript vertraut sind (Variablen, Funktionen, Objekte, Arrays) und zumindest minimale Erfahrung im Schreiben von Code haben. Es wird nützlich sein für:
- Entwickler, die vom imperativen zum funktionalen Stil wechseln möchten;
- Diejenigen, die Closures, Sichtbarkeitsbereiche und Ausführungskontexte tiefer verstehen wollen;
- Programmierer, die deklarativeren und testbareren Code schreiben möchten;
- Personen, die bereits funktionale Sprachen (Haskell, Clojure) ausprobiert haben und dieselben Prinzipien in JavaScript anwenden möchten;
- Studenten und Dozenten, die moderne Entwicklungsansätze studieren.
Was der Leser lernen wird
Nach der Lektüre des Buches werden Sie in der Lage sein:
- Closures zu verstehen und zu nutzen, nicht nur als theoretisches Konzept, sondern als Werkzeug zur Erstellung von Funktionsfabriken und zur Kapselung von Zuständen;
- Funktionskomposition anzuwenden, um komplexe Operationen aus einfachen aufzubauen und tiefe Verschachtelungen zu vermeiden;
- Currying und partielle Anwendung zu implementieren, um spezialisierte Funktionen auf Basis allgemeiner zu erstellen;
- Rekursive Algorithmen zu schreiben mit Verständnis für Endrekursion und Optimierung;
- Mit Monaden zu arbeiten (Maybe, Either, IO) für sichere Fehlerbehandlung und Seiteneffekte;
- Funktionale Ansätze für Asynchronität zu nutzen (Promise, async/await) ohne Callback-Hölle;
- Unveränderliche Datenstrukturen aufzubauen und Mutationen zu vermeiden, um Code vorhersagbar zu machen.
Stärken des Buches
Das erste, was ins Auge fällt, ist der Erzählstil. Braithwaite schreibt lebendig, mit Humor und vielen Metaphern, was komplexe Themen zugänglich macht. Jedes Kapitel beginnt mit einem einfachen Beispiel, das sich allmählich steigert, und der Autor kehrt ständig zu zuvor eingeführten Konzepten zurück, um sie zu festigen. Zweitens: die praktische Ausrichtung: Alle Konzepte werden mit Code illustriert, der ausgeführt werden kann. Drittens: die Tiefe: Das Buch scheut sich nicht, in das Gebiet der Kategorientheorie vorzudringen, tut dies jedoch ohne übermäßigen mathematischen Formalismus und bleibt im Rahmen von JavaScript. Schließlich die Struktur: 520 Seiten sind in kleine Kapitel unterteilt, sodass man das Buch in Häppchen lesen kann, ohne den Faden zu verlieren.
Empfehlung
Ich empfehle „JavaScript Allongé“ nachdrücklich allen, die über den „jQuery-Stil“ hinauswachsen und wirklich eleganten und wartbaren JavaScript-Code schreiben lernen möchten. Besonders nützlich ist das Buch für diejenigen, die sich auf Vorstellungsgespräche in Unternehmen vorbereiten, die funktionale Programmierung schätzen (z. B. in Startups, die React/Redux verwenden). Wenn Sie bereits „You Don't Know JS“ gelesen haben und weiterkommen möchten