LU01c - Funktionale Programmierung

Definition der Funktionalen Programmierung

Funktionale Programmierung ist ein Paradigma, das Funktionen als primäre Bausteine verwendet, Unveränderlichkeit von Daten fördert und einen deklarativen Stil betont. Es zielt darauf ab, Code klarer und vorhersagbarer zu gestalten.

Grundprinzipien der Funktionalen Programmierung

1. Funktionen als Erste Klasse: Sie können wie jede andere Variable behandelt werden.

2. Unveränderlichkeit: Einmal erstellte Daten werden nicht geändert.

3. Deklarative Natur: Der Code beschreibt, was zu tun ist, nicht wie.

Einführung in die Deklarative Programmierung

Deklarative Programmierung ist ein übergeordnetes Konzept, das funktional, logisch und einigen anderen Paradigmen gemeinsam ist. Es betont die Beschreibung der gewünschten Ergebnisse, ohne spezifische Anweisungen zu geben, wie diese Ergebnisse erreicht werden sollen.

Beispiel

Quadrieren einer Liste in Python auf funktionale Weise:

def quadrat(x):
    return x**2
 
zahlen = [1, 2, 3, 4, 5]
quadrate = map(quadrat, zahlen)
print(list(quadrate)) # Ausgabe: [1, 4, 9, 16, 25]

Fokus auf Funktionen, Unveränderlichkeit und Deklarativität

Funktionen

Funktionen sind das Herzstück der funktionalen Programmierung:

def anwenden(f, wert):
    return f(wert)
 
quadrat = lambda x: x**2
ergebnis = anwenden(quadrat, 5)
print(ergebnis) # Ausgabe: 25

Unveränderlichkeit

Die Unveränderlichkeit fördert sauberen, nachvollziehbaren Code:

original_liste = [1, 2, 3]
neue_liste = original_liste + [4] # Original bleibt unverändert

Deklarativität

Ein deklarativer Ansatz beschreibt, was getan werden soll:

# Deklarativ
summe = sum(zahlen)

Zusammenführung der Deklarativen und Funktionalen Programmierung

Deklarative Programmierung ist ein breiteres Konzept, das die funktionale Programmierung einschließt. Während die funktionale Programmierung sich auf die Verwendung von Funktionen und Unveränderlichkeit konzentriert, bezieht sich die deklarative Programmierung auf die Abstraktion des “wie” und konzentriert sich auf das “was”.

Schlussfolgerung

Die funktionale Programmierung, mit Schwerpunkt auf der Verwendung von Funktionen, Unveränderlichkeit und einem deklarativen Ansatz, bietet einen klaren und wartbaren Weg, um Code zu schreiben. Sie ist Teil der größeren deklarativen Paradigmenfamilie und findet in modernen Programmiersprachen wie Python Anwendung. Die Kombination von funktionalen und deklarativen Prinzipien führt zu Code, der einfacher zu lesen, zu verstehen und zu testen ist.


© Kevin Maurizi