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

Mehr Leistung für SBCs
Neue Orange-Pi-Varianten von Shenzhen Xunlong liefern höhere Rechenleistung.
12 Minuten
15. Dez 2025
Simple Recipes – Schritt für Schritt zur Uno-App - Moderne UI-Gestaltung mit der Uno Platform, Teil 4
Der Entwicklungsweg einer modernen Cross-Platform-App: Von der Idee über UI-Skizzen bis zur finalen Implementierung zeigt ein praxisnahes Mini-Projekt am Beispiel der Rezepte-App „Simple Recipes“, wie Uno ein gemeinsames UI-Design für Desktop, Web und Mobile ermöglicht.
7 Minuten

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
Das Model Context Protocol (MCP) mit C# verwenden - Kommunikation mit der KI
Mit dem neuen MCP C# SDK können Entwickler die Kommunikation zwischen KI-Modellen und Anwendungen effizient gestalten. Ein Blogpost bietet eine Schritt-für-Schritt-Anleitung zur Implementierung eines MCP-Servers.
3 Minuten
10. Apr 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige