[1] In the presence of side effects, a program's behaviour may depend on history; that is, the order of evaluation matters.
The functional language Haskell eliminates side effects such as I/O and other stateful computations by replacing them with monadic actions.
[4][5] Functional languages such as Standard ML, Scheme and Scala do not restrict side effects, but it is customary for programmers to avoid them.
Assembly language programmers must be aware of hidden side effects—instructions that modify parts of the processor state which are not mentioned in the instruction's mnemonic.
There are some cases, such as with hardware timing or testing, where operations are inserted specifically for their temporal side effects e.g. sleep(5000) or for (int i = 0; i < 10000; ++i) {}.
This allows multiple assignment: Because the operator right associates, this is equivalent to This presents a potential hangup for novice programmers who may confuse with