# Evaluation

To evaluate means to compute the value of an expression.

Related concepts: ValueExpression

*Closest Wikipedia entry:* Evaluation strategy — In a programming language, an evaluation strategy is a set of rules for evaluating expressions. The term is often used to refer to the more specific notion of a parameter-passing strategy that defines the kind of value that is passed to the function for each parameter (the binding strategy) and whether to evaluate the parameters of a function call, and if so in what order (the evaluation order). The notion of reduction strategy is distinct, although some authors conflate the two terms and the definition of each term is not widely agreed upon.

## Misconceptions about Evaluation9 documented Misconceptions

Check YourselfComparisonWithBoolLiteral — Python

To test whether an expression is True or False, one must compare it to True or to FalseEvaluationResultsArePrinted — Java

Evaluating an expression means outputting its resultExpressionsDynamicallyTyped — Java

One has to evaluate an expression to determine its typeMapToBooleanWithIf — Python

To map a boolean expression to a bool, an if statement is necessaryNoShortCircuit — Java

&& and || always evaluate both operandsNoShortCircuit — Python

and/or always evaluate both operandsReturnCall — Python

Return statements need () around the return valueRightToLeftChaining — Python

Chained accesses are invoked from right to leftToStringPrints — Java

Invoking toString() prints something