Rezension: Java 8 Lambdas

Veröffentlicht von am 29. Mai 2014 in Buchrezensionen

Das Buch „Java 8 Lambdas“ ist im März 2014 in englischer Sprache im O’Reilly Verlag erschienen, der es uns freundlicherweise zur Verfügung gestellt hat.

Es führt ein in eine der wichtigsten Erweiterungen Javas seit Version 5:  Lambdaausdrücke und ihre Anwendung.

Java 8 Lambdas

Zusammen mit den neuen Bibliotheken eröffnen die Lambdaausdrücke ganz neue Möglichkeiten in Richtung funktionaler Programmierung innerhalb Javas. Der Autor beginnt behutsam mit ein paar harmlos erscheinenden Programmierbeispielen, die zunächst nur nach einer Kurzschreibweise aussehen (eine anonyme Klasse wird durch einen Lambdaausdruck ersetzt.). Nach ein paar weiteren Übungen zur Gewöhnung an das neue Konzept werden Streams und die zugehörigen Bibliotheken vorgestellt. Schon hier zeigt sich die Mächtigkeit dieser Spracherweiterung, vor allem wenn die Übungen ausgeführt werden. Dieser Teil des Buches ist meiner Meinung nach der wichtigste, hieraus konnte ich viel für meine eigene Programmierpraxis mitnehmen.

Es folgt ein Kapitel über die Verwendung von Streams für parallele Verarbeitung. Hier sollte man nicht zu viel erwarten, die Spracherweiterung vereinfacht diese zwar, letztlich ist deren Verwendung aber beschränkt auf Datenparallele Aufgaben. Außerdem können aber alle Probleme, die sonst bei der Parallelverarbeitung auftreten auch hier vorkommen. Der Autor geht hierauf sorgfältig ein, letztlich reicht der Umfang des Kapitels aber nicht um erfolgreich komplexe Probleme parallel zu lösen.

Das Buch endet mit Kapiteln zum Testen, Designpattern und zu Ansätzen nebenläufiger Programmierung.

Insgesamt hat mir das Buch sehr gut gefallen und einen schönen Einstieg in die Programmierung mit Lambdaausdrücken gegeben. Ich kann jedem Java Programmierer nur empfehlen sich mit diesem Thema auseinanderzusetzen und halte dieses Buch für einen perfekten Startpunkt.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.