> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baenninger.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Prinzipien der funktionalen Programmierung

Die funktionale Programmierung basiert auf mehreren zentralen Prinzipien

<AccordionGroup>
  <Accordion title="Erstklassige Bürger">
    Funktionen sind erstklassige Bürger, das heisst, sie können wie normale Daten verwendet, übergeben und zurückgegeben werden.
  </Accordion>

  <Accordion title="Immutability">
    Werte werden nach ihrer Erstellung nicht mehr verändert, sondern bei Änderungen neu erzeugt.
  </Accordion>

  <Accordion title="Rekursion">
    Statt Schleifen wird häufig Rekursion verwendet, um wiederholte Abläufe zu modellieren.
  </Accordion>

  <Accordion title="Höhere Ordnungsfunktionen">
    Höhere Ordnungsfunktionen sind Funktionen, die Funktionen als Parameter akzeptieren oder zurückgeben.
  </Accordion>

  <Accordion title="Deklarativ">
    Im Gegensatz zur imperativen Programmierung ist die funktionale Programmierung deklarativ, das heisst, sie beschreibt, *was* erreicht werden soll, anstatt *wie* es Schritt für Schritt umgesetzt wird.
  </Accordion>
</AccordionGroup>
