In the spirit of the latest podcast where Joel mentioned he'd like some simple questions with possibly interesting answers ...
In the environments we have to programme in today we can't rely on the order of execution of our langauage statements. Is that true? Should we be concerned?
Will 30 GOTO 10 always go to 10?*
*I didn't use 20 on purpose ;)
[edit] for the four people voting for closure of this question ...
"Runtime compilers use profiling information to help optimize the code being compiled. The JVM is permitted to use information specific to the execution in order to produce better code, which means that the compiling method M in one program may generate different code than compiling M in another"
(from Java concurrency in practice, 2006, Goetz et al)
.. have a look at "monomorphic call transformation"
[edit]
and another edit, your processor is allowed to swap the order of execution of statements ...