Core Java & JVM-SprachenCore Java & JVM-Sprachen

Funktionale Programmierung in Java

Was wir von Haskell lernen können
Algebraische Datentypen
Immutability
Pattern Matching
Pure Functions
Record
Sealed Classes

Abstract


Thu 14:30 - 15:15 Uhr | 2026

In vielen Java-Projekten wird funktionale Programmierung noch immer als exotisch oder unnötig betrachtet. Statt klarer Datenflüsse und unveränderlicher Zustände dominieren imperative Strukturen, Seiteneffekte und schwer testbarer Code. Das führt zu Komplexität, unerwartetem Verhalten und wachsendem Wartungsaufwand – besonders in großen Systemen.

Haskell zeigt seit Jahrzehnten, wie elegant und robust sich Probleme durch reine Funktionen, Immutability und Komposition lösen lassen. Auch wenn Java kein rein funktionales Paradigma verfolgt, bietet es mit Rekursion, Lambdas, der Stream-API, Higher-Order Functions, Function Composition, Pattern Matching, Records und Sealed Classes heute mächtige Mittel, um funktional zu denken und zu programmieren.

In diesem Vortrag übertragen wir zentrale Haskell-Konzepte in modernes Java (8 – 25). Wir betrachten aber nicht nur die bereits existierenden Bordmittel, sondern auch, wie andere wichtige Konzepte der funktionalen Programmierung (List Comprehensions, Partial Function Application, Currying und Zipping) in Java abgebildet werden können. Anhand vieler kleiner, verständlicher Code-Beispiele vergleichen wir den imperativen mit dem funktionalen Stil und entdecken, wie sich dadurch Lesbarkeit, Testbarkeit und Wartbarkeit deutlich verbessern – ganz ohne das Java-Ökosystem zu verlassen.

Non-Sponsored TalkFortgeschritteneDeutsch
Falk Sippach

Falk Sippach

Falk Sippach ist bei der embarc Software Consulting GmbH als Softwarearchitekt, Berater und Trainer stets auf der Suche nach dem Funken Leidenschaft, den er bei seinen Teilnehmern, Kunden und Kollegen entfachen kann. Bereits seit 20 Jahren unterstützt er in meist agilen Softwareentwicklungsprojekten im Java-Umfeld. Als aktiver Bestandteil der Community (Mitorganisator der JUG Darmstadt und Mitglied des iSAQB und der Java Champions) teilt er zudem sein Wissen gern in Artikeln, Blog-Beiträgen, sowie bei Vorträgen auf Konferenzen oder User Group Treffen und unterstützt bei der Organisation diverser Fachveranstaltungen.