Literatur 18.08.2010 - 14:50
Schlagwörter: Funktionale Programmierung
Stuart Halloway
Raleigh, NC 2009
Pragmatic Bookshelf
304 Seiten
US-$ 32,95
ISBN 978-1-93435-633-3
Angesichts von parallel werkelnden Kernen, Prozessoren und Rechnersystemen verändert sich die Programmierlandschaft. Die dort zum Einsatz kommenden Techniken fußen meist auf seit Langem bekannten Ansätzen. Einer von ihnen ist die funktionale Programmierung, deren bekanntester Vertreter das inzwischen 52-jährige Lisp ist. Von dieser Sprache existieren viele Dialekte, darunter Rich Hickeys Clojure. Die Sprache nutzt die Java Virtual Machine als Laufzeitumgebung und kann auf deren Infrastruktur zugreifen.
Halloways Buch ist inzwischen das zweite zu Clojure, weitere sind angekündigt. Der in der Java- und Ruby-Szene bekannte Autor nutzt das erste Kapitel zu einer Erläuterung der Vorteile Clojures sowie einer Einführung in das im Buch vorangetriebene Projekt Lancet. Einen tieferen Einstieg in die Sprache, ohne explizit auf funktionale Programmierung einzugehen, bietet das zweite Kapitel. Es behandelt Ausdrücke, beim Einlesen aufgelöste Makros, Funktionen, Variablen, Kontrollstrukturen und Metadaten. Bevor es mit dem weitergeht, was ein Lisp ausmacht, behandelt der Autor die Zusammenarbeit mit Java.
In den Kapiteln 4 und 5 kehrt Halloway zur Muttersprache zurück und behandelt die Verarbeitung von Daten in Listen sowie mit Endrekursion und verzögerter Ausführung weitere funktionale Aspekte. Im sechsten Kapitel erfährt der neugierige Leser endlich etwas über Nebenläufigkeit, eventuell etwas spät für die Erwartungshaltung. Kapitel 7 behandelt die LISP-Spezialität Makros. Sie erlauben die Veränderung der Programmiersprache in einem Rahmen, der über eine einfache Funktionsbibliothek hinaus geht. So lassen sich domänenspezifische Sprachen (DSL) realisieren.
Den fachlichen Abschluss bilden die Multimethods, Clojures Variante der Polymorphie. Ein letztes Kapitel geht auf Alltagsaspekte ein: Unit Tests, relationale Datenbanken und einfache Webapplikationen. Vom Umfang her ist Halloways Band eine gute Einführung. Dennoch kommt keine richtige Freude auf. Er schreibt trocken, die Codebeispiele sind bis auf Lancet abstrakt, und die Struktur ist nicht immer nachvollziehbar. Interessenten sollten sich vor einem Kauf Zeit für eine Leseprobe beim Buchhändler ihres Vertrauens gönnen.
(ane)
Themenforum: Java