Seiteneffekt

Aus Infostudium Wiki

Wechseln zu: Navigation, Suche

Rein funktionale Sprachen wie Haskell sind im Gegensatz zu imperativen Sprachen, wie C oder Java, frei von Seiteneffekten. Hier ein Beispiel für eine Java-Methode, die nicht seiteneffektfrei ist:

sh: highlight: command not found

Die gewünschte Sprache muss wie folgt definiert werden: <source lang="html">...</source>

Unterstützte Sprachen für die Syntax-Hervorhebung:

(Fehler beim Laden der Sprachenliste)

Diese Methode kann den übergebenen Wert ändern und etwas auf die Standardausgabe ausgeben. Bei seiteneffektfreien Funktionen dagegen ist der einzige Effekt der Rückgabewert der Funktion, es werden keine globalen Variablen oder die übergebenen Parameter geändert. Mit Seiteneffekten erzielt man Wirkungen außerhalb des funktionalen Ablaufs, sie können deshalb zu schwer verfolgbaren Fehlern führen.