Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Auswertung (Informatik)

Auswertung (engl. evaluation als Beschreibung, Analyse und Bewertung) bezeichnet in der Informatik den Vorgang, der einem Ausdruck (eventuell in einem …

Auswertung in der Informatik

Auswertung (englisch evaluation) bezeichnet in der Informatik den Vorgang, bei dem einem Ausdruck – möglicherweise in einem bestimmten Kontext von Variablenbindungen – ein Wert zugeordnet wird. Sie beschreibt damit, wie aus einem Ausdruck ein berechenbares Ergebnis entsteht.

Programmiersprachen unterscheiden sich unter anderem durch ihre Auswertungsstrategie:

  • Bei der strengen oder strikten Auswertung (englisch eager bzw. strict evaluation) werden Ausdrücke sofort ausgewertet. Bei der Berechnung eines Funktionsaufrufs werden zunächst die Argumentausdrücke ausgewertet. Erst danach wird der Funktionsrumpf, also der eigentliche Anweisungsteil der Funktion, ausgewertet.

  • Bei der Bedarfsauswertung oder verzögerten Auswertung (englisch Lazy Evaluation) werden Ausdrücke erst dann ausgewertet, wenn ihr Wert in einer Berechnung tatsächlich benötigt wird. Dadurch können beispielsweise unendlich große Datenstrukturen definiert werden, darunter die Liste aller natürlichen Zahlen oder die Liste aller Primzahlen. Solche Datenstrukturen werden als Ströme (englisch streams) bezeichnet. Außerdem können sich bestimmte Algorithmen durch die verzögerte Berechnung vereinfachen.

Welche Strategie effizienter ist, hängt von der jeweiligen Berechnung ab: Manche Berechnungen lassen sich mit strenger Auswertung, andere mit Bedarfsauswertung besser durchführen.

Bei Funktionen mit mehreren Argumenten gibt es zusätzlich die Frage, in welcher Reihenfolge die Argumente ausgewertet werden. In der Theoretischen Informatik wird im Lambda-Kalkül formal gezeigt, dass diese Reihenfolge für den berechneten Wert eines Ausdrucks keine Rolle spielt, sofern der Ausdruck überhaupt ausgewertet werden kann. In diesem Zusammenhang stehen auch die Begriffe Currying und Schönfinkeln. Die Anwendung einer Funktion beziehungsweise einer Funktionsdefinition auf ihre Argumente heißt Applikation.

Eng mit der Auswertung verbunden ist die Semantik. Sie ist eine Abbildung, die einem Programm, meist einem Programmtext beziehungsweise Quellcode, seine berechenbare Funktion zuordnet. Semantik beschreibt somit die Bedeutung eines Programms in Form dessen, was es berechnet.

Weiterlesen