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

00:00
MCP: Der USB-C-Stecker für Deine KI-App - Model Context Protocol auf der DWX
Jonah Andersson bringt es auf den Punkt: Das Model Context Protocol ist kein Hype-Buzzword, sondern eine echte Hilfe für .NET-Entwickler:innen. Wer MCP richtig einsetzt, spart sich aufwändige Integrationsarbeit – und behält trotzdem die Kontrolle über die eigene Business-Logik.
7. Apr 2026
Infinite AI Conference: So setzt Du KI in jedem Schritt des Software-Lifecycle ein - KI gehört in Deinen Workflow
Von den Anforderungen über Design, Implementierung bis zum Testen, Deployment und Monitoring: Auf der Infinite AI Conference 2026 erfährst Du, wie Dich die KI im gesamten Lifecycle unterstützen kann.
4 Minuten
SignalRC und Ping - Der DDC-Truck, Teil 10
Wie schnell ist die Verbindung zwischen Browser und Fahrzeug eigentlich?
9 Minuten
26. Mär 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
UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige