LU01c - Funktionale 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.

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.

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.

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]

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

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

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

Ein deklarativer Ansatz beschreibt, was getan werden soll:

# Deklarativ
summe = sum(zahlen)

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

  • modul/m323/learningunits/lu01/funktional.txt
  • Zuletzt geändert: 2024/03/28 14:07
  • von 127.0.0.1