Funktionale Konzepte in Java und Kotlin – von Lambdas bis Monaden
Mit dem Einzug von Lambda-Ausdrücken in Java und der modernen Sprache Kotlin hat die funktionale Programmierung ihren festen Platz in der Java-Welt gefunden. Kotlin wurde von Grund auf so entworfen, dass es funktionale Konzepte elegant unterstützt – ein Vorteil für Entwicklerinnen und Entwickler, die effizienteren, ausdrucksstärkeren und leichter wartbaren Code schreiben wollen. Wer diese Möglichkeiten wirklich ausschöpfen möchte, braucht jedoch ein solides Verständnis des funktionalen Programmierparadigmas, das sich deutlich von der klassischen imperativen oder objektorientierten Programmierung unterscheidet.
Vom Grundlagenwissen zur Praxisanwendung
Dieses Buch vermittelt Schritt für Schritt die zentralen Prinzipien und Techniken der funktionalen Programmierung in Java und Kotlin. Eine Vielzahl praxisnaher Codebeispiele, die kostenlos heruntergeladen werden können, zeigt, wie sich diese Konzepte direkt im Alltag einsetzen lassen. Neu in der 2. Auflage ist ein ausführlicher Abschnitt zur modernen Programmierung mit Kotlin – inklusive spezifischer Sprachfunktionen, die für funktionale Programmierung optimiert sind.
Konzepte verstehen und Stolperfallen vermeiden
Ausgehend von den modernen Sprachfeatures in Java vermittelt der Autor zentrale Techniken, Muster und Best Practices der funktionalen Programmierung. Dabei werden Themen wie Lambda-Ausdrücke, funktionale Interfaces, Funktionskomposition, Monaden, Streams und asynchrone Verarbeitung anschaulich und Schritt für Schritt erklärt. Ein besonderes Augenmerk liegt auf typischen Fallstricken und Unterschieden, die Java-Programmierende beim Einstieg in die funktionale Welt beachten sollten.
Zahlreiche ausführlich kommentierte Code-Beispiele, die kostenlos zum Download bereitstehen, helfen beim direkten Einstieg in die Praxis. Neu in der zweiten Auflage ist ein eigenes Kapitel zur modernen funktionalen Programmierung mit Kotlin – ergänzt durch einen Ausblick auf weiterführende Konzepte in Scala und Kotlin, die über das hinausgehen, was derzeit in Java möglich ist.
Ein ideales Werk für alle, die funktionale Programmierung nicht nur verstehen, sondern gezielt im Berufsalltag einsetzen möchten.
Die Themen im Überblick
- Lambda-Ausdrücke und funktionale Interfaces in Java
- Programmieren ohne Seiteneffekte
- Funktionale Datenstrukturen
- Arbeiten mit Funktionsparametern und höheren Funktionen
- Funktionsketten und Funktionskomposition mit Monaden
- Streams und parallele Verarbeitung
- Reaktive Streams mit RxJava
- Asynchrone Funktionsketten
- Kotlin-Erweiterungsfunktionen für Java-Collections
- Lambda-Ausdrücke mit Empfänger in Kotlin
- Entwicklung domänenspezifischer Sprachen
Dieses Werk richtet sich an alle, die ihr Java- und Kotlin-Wissen erweitern und das volle Potenzial der funktionalen Programmierung ausschöpfen wollen – von der ersten Idee bis zum performanten, produktionsreifen Code.
In dieser Leseprobe beschreibt Herbert Prähofer die grundlegenden Sprachkonzepte für die funktionale Programmierung und wie Sie diese einsetzen. Insbesondere sind das Generics, Ko- und Kontravarianz, Default-Methoden sowie die Arbeit mit Lambda-Ausdrücken, Methodenreferenzen und funktionalen Interfaces. Außerdem zeigt er, wie Record-Klassen für unveränderliche Datenobjekte eingesetzt werden und wie moderne Switch-Ausdrücke mit Rückgabewerten funktionieren.
Wer hat's geschrieben?
Herbert Prähofer ist Professor für Informatik an der Johannes Kepler Universität Linz, Österreich. Seine Forschungsschwerpunkte liegen im Bereich der Methoden der Softwareentwicklung und des Software Engineerings, mit aktuellen Schwerpunkten im Bereich statischer Programmanalyse und Produktlinien-Engineering. Er ist Autor und Ko-Autor von über 100 Publikationen in wissenschaftlichen Zeitschriften und Konferenzbänden sowie Mitverfasser der Bücher "Die .NET Technologie" und "Theory of Modeling and Simulation" erschienen bei Academic Press.

