Zum Inhalt springen

Funktionale Programmierung

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 19.10.2026

Funktionale Programmierung baut ein Programm aus Funktionen, die Werte hineinnehmen und Werte zurückgeben, ohne nebenbei etwas zu verändern.

Funktionale Programmierung

Eine Art, ein Programm zu ordnen: aus Funktionen, die allein aus ihren Eingaben ihr Ergebnis bilden und sonst nichts verändern.
Beispiel: „In der funktionalen Programmierung liefert dieselbe Eingabe immer dasselbe Ergebnis.“

Abgrenzung zum Nebeneffekt: Ein Nebeneffekt ist alles, was eine Funktion außerhalb ihres Ergebnisses bewirkt, etwa eine Datei schreiben oder eine Anzeige ändern. Funktionale Programmierung drängt solche Stellen an den Rand des Programms.

Zwei Regeln, aus denen alles folgt

Die erste: Eine Funktion bildet ihr Ergebnis allein aus dem, was hineingegeben wurde. Die zweite: Jede Änderung erzeugt einen neuen Wert und lässt den alten unberührt. Statt eine Liste umzusortieren, entsteht eine neue sortierte Liste.

Daraus folgt die Eigenschaft, um die es eigentlich geht: Eine solche Funktion lässt sich allein prüfen, ohne das übrige Programm zu starten, und sie verhält sich bei jedem Aufruf gleich.

// verändert die vorhandene Liste
preise.sort();

// lässt sie in Ruhe und liefert eine neue
const sortiert = [...preise].sort();

// Kette aus Umformen, Einschränken, Zusammenrechnen
const summe = warenkorb
  .filter((a) => a.verfuegbar)
  .map((a) => a.preis * a.menge)
  .reduce((gesamt, wert) => gesamt + wert, 0);

Wo sie dir im Web begegnet

Beim Umgang mit Listen. Umformen, einschränken und zusammenrechnen sind funktionale Werkzeuge, und sie sind in JavaScript längst der übliche Weg. Wer sie benutzt, programmiert an dieser Stelle funktional, ohne den Begriff zu brauchen.

Dazu kommen die Oberflächen-Bibliotheken. Dort wird die Anzeige als Ergebnis des Zustands beschrieben, statt sie Schritt für Schritt zu verändern; auch das ist der funktionale Gedanke.

Warum kein Projekt ganz funktional ist

Weil ein Programm, das nichts verändert, auch nichts bewirkt. Irgendwo muss gespeichert, gesendet und angezeigt werden. Die Haltung dahinter lautet deshalb, den Kern frei von Nebeneffekten zu halten und sie an den Rändern zu sammeln, wo sie überschaubar bleiben.

Siehe auch:

Funktionen

Ein benannter Abschnitt Code, der sich von anderer Stelle aufrufen lässt.

#Programmiersprachen

Arrays

Eine Liste von Werten in fester Reihenfolge, angesprochen über ihre Position.

#Programmiersprachen

Prozedurale Programmierung

Ordnet ein Programm nach Arbeitsschritten; die Daten liegen daneben und werden durchgereicht.

#Programmiersprachen

JavaScript

Die Programmiersprache, die in jedem Browser mitläuft und einer Seite Verhalten gibt.

#Programmiersprachen