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.

Neueste Beiträge

SSH für.NET-Applikationen mit SSH.NET - Best of NuGet, Teil 1
SSH – dahinter verbirgt sich die Abkürzung Secure Shell – ist insbesondere im Bereich der unixoiden Systeme weit verbreitet. Mit SSH.NET steht ein NuGet-Paket zur Verfügung, das die Interaktion mit der sicheren Remote Shell aus .NET-Applikationen heraus zu ermöglichen sucht.
6 Minuten
25. Sep 2025
Ein Jahr CODELUTION Zertifizierungssystem – ein neuer Standard in der IT-Weiterbildung - [sponsered]
Das rollenbasierte Zertifizierungssystem für Entwickler-Schulungen der Karlsruher CODELUTION GmbH hebt sich bewusst von technologiegebundenen Zertifikaten ab.
3 Minuten
25. Sep 2025
Delphi als Turbo für die mobile Entwicklung - Mobile Apps entwickeln mit Delphi, Teil 1
Delphi ermöglicht es, effizient plattformübergreifende Anwendungen zu erstellen. In diesem ersten Teil der Serie beleuchten wir die Motivation ebenso wie das Setup eines ersten Beispielprojekts.
6 Minuten
Miscellaneous

Das könnte Dich auch interessieren

Die Zukunft des Frontends - Webentwicklung: Trends im Bereich Frontend-Architektur
Aktuelle Entwicklungen auf dem Spektrum zwischen Single Page Application und Multi Page Application.
25 Minuten
14. Nov 2022
Sicher ist sicher - Azure DevOps Pipelines Security
Als integraler Bestandteil der Entwicklungsumgebung ist Azure DevOps Pipelines oft Ziel von Angriffen. Da ist es gut zu wissen, wo die Schwachstellen des Systems liegen.
14 Minuten
16. Jun 2025
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
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige