Funktionale Programmierung

Paradigma mit reinen Funktionen und unveränderlichen Daten.

Funktionale Programmierung (FP) ist ein Paradigma, bei dem Programme durch Anwenden und Zusammensetzen von Funktionen konstruiert werden. Funktionen sind erstklassige Bürger.

Grundprinzipien:
1. Reine Funktionen: Gleiche Eingabe produziert immer gleiche Ausgabe, keine Seiteneffekte
2. Unveränderlichkeit: Daten ändern sich nach Erstellung nie
3. Funktionen höherer Ordnung: Funktionen, die Funktionen nehmen oder zurückgeben
4. Rekursion: Bevorzugt gegenüber Schleifen

        graph LR
  Center["Funktionale Programmierung"]:::main
  Rel_object_oriented_programming["object-oriented-programming"]:::related -.-> Center
  click Rel_object_oriented_programming "/terms/object-oriented-programming"
  Rel_procedural_programming["procedural-programming"]:::related -.-> Center
  click Rel_procedural_programming "/terms/procedural-programming"
  Rel_agile_methodology["agile-methodology"]:::related -.-> Center
  click Rel_agile_methodology "/terms/agile-methodology"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Wissenstest

1 / 1

🧒 Erkläre es wie einem 5-Jährigen

Stell dir eine mathematische Funktion vor wie f(x) = x + 2. Du gibst 3 ein, du bekommst immer 5. Funktionale Programmierung bedeutet, dass dein Code wie Mathematik funktioniert—zuverlässig, ohne Überraschungen!

🤓 Expert Deep Dive

Lambda-Kalkül (Church, 1930er) liefert die mathematische Grundlage von FP. Monaden behandeln Seiteneffekte in reinen Sprachen. Algebraische Datentypen und Pattern Matching ermöglichen typsicheren Code.

📚 Quellen