© Excellent backgrounds/Shutterstock.com
Bücher

Bücher: Functional Programming in Java


Um mit Java in einem funktionalen Stil zu entwickeln, benötigt es unter anderem Streams, Lambdas und funktionale Interfaces. Java 8 bringt diese mit. Aber es ist auch eine Änderung der Denkweise erforderlich, vergleichbar mit dem Wechsel von prozeduraler zur objektorientierten Programmierung.

Venkat Subramaniam erläutert in seinem Buch nicht nur diese interessanten neuen Sprachfeatures; vor allem zeigt er, wie man sein Programmierverhalten ändern muss, um zu einem funktionalen Stil zu gelangen. Und so lautet eine Kernbotschaft des ersten Kapitels: Ändere deine Denkweise! Natürlich ist Java nicht über Nacht zu einer funktionalen Sprache geworden. Alles Bekannte bleibt im Wesentlichen erhalten, der funktionale Stil ist zusätzlich möglich. Und so stellt der Autor an vielen Stellen traditionelle Lösungswege den neuen Möglichkeiten gegenüber.

Nach diesem Überblick geht er dann detaillierter auf Collections ein, die nun beinahe deklarativ in Streams gewandelt, gefiltert, transformiert und zu einem Ergebnis verarbeitet werden können, eine Art MapRe­duce. Dazu stellt er verschiedene Filter und Collectoren vor. Hilfreich in diesem Zusammenhang sind Lambda-Ausdrücke, die zudem eine Lazy Evaluation bieten. So können Aufgaben, die bisher mit mehr oder weniger unübersichtlichen Schleifen gelöst werden mussten, entsprechend der Problemstellung linear geschrieben und zudem performanter ausgeführt werden. Beispiele zeigt das Buch.

Funktionaler Programmierstil zeichnet sich durch den Verzicht auf Seiteneffekte, wie das Ändern gemeinsamer Variablen oder Status, aus. Eine Vielzahl von Concurrency-Problemen ist damit ausgeschaltet und eine Parallelisierung deutlich einfacher möglich. Aber dies zeigt der Autor fast nur noch am Rande, kommt diese Möglichkeit beinahe ohne Aufwand daher.

Dafür geht er auf andere Themen wie den Umgang mit Ressourcen oder die Möglichkeit, Lambda-Ausdrücke einfach auszutauschen, ein. Anhand vieler Codebeispiele zeigt der Autor Schlüsselkonzepte auf. Diese sind immer ausführlich erläutert. Grafiken und Einschübe unterstützen bei der Wissensvermittlung. Mit weniger als 200 Seiten handelt es sich um ein Buch, das relativ zügig zu lesen ist. So kann der erfahrene Java-Entwickler recht schnell die neuen Features nutzen und mit funktionalem Stil beginnen. Diese Erfahrung ist gleichzeitig Voraussetzung, dieses eher kompakte Buch verstehen zu können. Java-Neulinge sollten von diesem Buch eher Abstand nehmen.

bookshelf_functional_programming.tif_fmt1.jpg

Venkat Subramaniam

Functional Programming in J...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang