Künstliche Intelligenz
Mit Java funktional programmieren | heise online
Was, wenn Java-Code nicht nur kompakter, sondern auch sicherer und leichter testbar wäre, ohne dabei auf Performance zu verzichten?
Moderne Java-Versionen bringen längst Werkzeuge mit, die das ermöglichen: Streams, Sealed Interfaces, Lambdas, Pattern Matching und mehr. Wer die Möglichkeiten des funktionalen Programmierens richtig nutzt, kann objektorientierte Entwurfsmuster vereinfachen, Seiteneffekte isolieren und Geschäftslogik robuster gestalten. Dieser Artikel zeigt mit praktischen Beispielen, weshalb sich der Perspektivenwechsel lohnt.
- Funktionale Programmierung verwendet reine Funktionen, Immutability und vermeidet Seiteneffekte – das führt zu verständlicherem Code mit weniger Fehlern.
- Seit Java 8 bereichern funktionale Elemente wie Streams, Lambdas und Optionals die Sprache um funktionale Features.
- Einige objektorientierte Entwurfsmuster lassen sich funktional einfacher oder direkter umsetzen.
- Moderne Sprachmittel wie Pattern Matching, Records und Sealed Interfaces drücken domänenspezifische Logik sicherer und deklarativer aus.
- Das Architekturprinzip „Functional Core, Imperative Shell“ führt zu robusten und testbaren Kernfunktionen und drängt Code mit Seiteneffekten an den Rand.
Michael Koppmann ist Senior Information Security Consultant bei SBA Research. Seine Interessen liegen im Bereich der IT-Security, im Schutz der Online-Privatsphäre und in Green IT.
Grundsätzlich gehört die funktionale Programmierung zu den Programmierparadigmen und steht dabei auf einer Ebene mit der objektorientierten oder auch der logischen Programmierung. Diese Stile sind nicht strikt definiert und die Übergänge fließend, wodurch viele Sprachen ein hybrides Programmieren in mehreren Paradigmen erlauben. Es ist ebenso möglich, in allen Stilen imperativ oder deklarativ zu programmieren. Imperative Programme befehlen dem Computer, wie etwas zu machen ist, während deklarative dem Computer beschreiben, was man haben möchte. Statt von funktionalen Programmiersprachen zu reden, bietet es sich daher eher an, die Programme nach gewissen Eigenschaften zu beurteilen.
Das war die Leseprobe unseres heise-Plus-Artikels „Mit Java funktional programmieren“.
Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.