Zum Inhalt springen
uencoder

Functional Programming

Funktionale Programmierung stellt reine Funktionen, unveränderliche Daten und einen deklarativen Stil in den Mittelpunkt und vermeidet Seiteneffekte und gemeinsamen Zustand.

Zweck

Zuverlässigen, testbaren Code durch Funktionskomposition und unveränderliche Daten aufbauen.

Mechanismus

Reine Funktionen (ohne Seiteneffekte), Unveränderlichkeit, Funktionen höherer Ordnung, lazy evaluation, Funktionskomposition, Currying. Haskell ist rein funktional; Scala/JS sind multiparadigmatisch. Stärken: testbar, parallelisierbar, gut begründbar. Schwächen: Lernkurve, Performance.

Anwendungsfälle

  • Code-Design
  • Nebenläufigkeitssicherheit
  • Testbarkeit

Verwandte Begriffe

References