Gibt es einen Unterschied zwischen Lazy Evaluation und Short-Circuit Evaluation?
Aus Wikipedia:
Faule Bewertung ist:
In der Programmiersprachtheorie ist Lazy Evaluation oder Call-by-Need eine Bewertungsstrategie, die die Bewertung eines Ausdrucks verzögert, bis sein Wert benötigt wird
Kurzschlussauswertung, Minimalauswertung oder McCarthy-Auswertung bezeichnet die Semantik einiger Boolescher Operatoren in einigen Programmiersprachen, in denen das zweite Argument nur ausgeführt oder ausgewertet wird, wenn das erste Argument nicht ausreicht, um den Wert des Ausdrucks zu bestimmen
Also, was ist der Unterschied zwischen ihnen zum Beispiel, wenn ich:
if(false && true && true) {
//boo
}
Soweit ich weiß, führt der Compiler keine Ausdrücke danach ausfalse
weil ich habe&&
so wird der ganze Ausdruck seinfalse
endlich. (Recht?)
Also heißt dieses VerhaltenFaule Bewertung oderKurzschlussauswertung?