Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

Funktionale Programmierung ist nicht die Antwort

Die Funktionale Programmierung (FP) hat viele Vorteile und kann bestehende Programme übersichtlicher, weniger fehleranfällig und gleichzeitig kürzer machen. FP ist aber nur eines von vielen Werkzeugen.
Entwickler John A De Goes bezeichnet sich selbst als einen funktional orientierten Softwareentwickler. Seit vier Jahren nutzt er die Funktionale Programmierung (FP) und liebt sie, wie er in einem Artikel auf seiner Website bekennt. Vor kurzem hat er einen Kurzzeitvertrag für die Arbeit an einer bestehenden Java-Anwendung angenommen und konnte während dieser Arbeit einige der Gründe, warum er funktionale Programmierung mag, neu überdenken. Dazu gehören:
  • Funktionen höherer Ordnung (mit denen man Funktionen an Funktionen übergeben oder Funktionen von Funktionen zurückgeben kann) vermeiden eine Menge Doppelarbeit.
  • Unveränderliche Datenstrukturen, die oft in FP verwendet werden, ersparen es einem, sich ständig Gedanken darüber machen zu müssen, was der Code mit den Daten macht, die man ihm übergibt.
  • Starke Typen, die in vielen funktionalen Programmiersprachen vorkommen, sagen mehr über statisch bewährte Eigenschaften des Codes aus. In seiner Arbeit am Java-Code konnte er damit eine Menge defensiver Null-Prüfungen löschen.
  • Reine Funktionen, also Funktionen ohne Seiteneffekte – ihre Ausgabe ist eine deterministische Funktion ihrer Eingabe, sind viel einfacher zu verstehen und zu testen, weil man sich nicht fragen muss, ob sich das Verhalten der Funktion aufgrund eines verborgenen Zustands ändert.
Das sind nur die wichtigsten Vorteile – es gibt noch weitere und natürlich auch einige Nachteile. John A De Goes konnte bei seiner Arbeit an der Java-Anwendung Fehler beheben und eine große Menge neuer Funktionen mit insgesamt weniger Codezeilen implementieren.Heute haben die meisten Programmierer von funktionaler Programmierung gehört, viele verwenden einige Techniken aus FP (zumindest Funktionen höherer Ordnung). Auf dem Spektrum der funktionalen Programmierung (FP) bewegen sich die Menschen zwischen einem der beiden Extreme. Im einen Extrem ist FP eine Möglichkeit, die imperative Programmierung zu bereichern (zum Beispiel einen leichtgewichtigen Callback an eine Funktion oder einen Block an eine Schleife zu übergeben). Im anderen Extrem ist FP eine Möglichkeit, sogenannten reinen Code zu schreiben - Code ohne Seiteneffekte, ausgedrückt als reine, referenziell transparente Funktionen. Einige Leute haben sich so sehr in FP verliebt, dass ihre Ansichten fast religiös sind. In diesem Fall meint De Goes, dass viele blind für etwas geworden sind, das eigentlich offensichtlich sein sollte: Funktionale Programmierung (rein oder anders) ist nicht das Ziel der Softwareentwicklung. Vielmehr ist sie ein Mittel zum Zweck, wie jedes andere Werkzeug in der Tasche eines Softwareingenieurs.In seinem umfangreichen Artikel geht De Goes detaillierter darauf ein, wie man FP sinnvoll und ohne Dogmatismus für Software-Projekte einsetzt.
Miscellaneous

Neueste Beiträge

"Menschen erzählen Geschichten, keine CRUD-Operationen" - Interview
Event Sourcing gilt als kompliziert. Golo Roden von native web GmbH erklärt im DWX-Interview, warum das ein Missverständnis ist – und warum das Konzept das perfekte Fundament für KI-Projekte liefert.
19. Aug 2026
Die Kunst der langen Aufgabenläufe - Kimi K3 – das Modell hinter dem Agenten, Teil 2
Ein guter Code-Generator löst eine klar umrissene Funktion. Ein Coding-Agent muss dagegen ein Repository erkunden, Hypothesen bilden, Werkzeuge auswählen, Tests auswerten und nach Fehlschlägen den Kurs ändern. Kimi K3 zielt auf diese zweite Klasse von Aufgaben.
8 Minuten
MessagePack: JSON als Binär-Image - Best of NuGet, Teil 10
Das Serialisierungsformat MessagePack wurde – anders als JSON – konsequent auf die Bedürfnisse von Maschinen und damit auch auf höchstmögliche Kompaktheit optimiert. Der Vorteil: Ein geringeres zu übertragendes Datenvolumen führt vor allem in IoT-nahen Anwendungen direkt zu geringeren Kosten.
6 Minuten
17. Aug 2026

Das könnte Dich auch interessieren

Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Stark beschränkt - Native-AOT-Kompilierung mit Entity Framework Core 9.0
In Entity Framework Core 9.0 liefert Microsoft erstmals eine Unterstützung für den Native-AOT-Compiler mit, die aber leider noch geringen praktischen Nutzen hat.
7 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige