2010/12/31  <skip@pobox.com>

   >> Another example. I can totally remove the variable i, just using the
   >> stack, so a debugger (or, in general, having the tracing enabled)
     >> cannot even find something to change about it.
   Ethan> -1

   Ethan> Debugging is challenging enough as it is -- why would you want to
   Ethan> make it even more difficult?

<snarky>
I don't know.  Maybe he wants his program to run faster.
 </snarky>

:D

"Aggressive" optimizations can be enabled with explicit options, in order to leave normal "debugger-prone" code.
 
If you use print statements for the bulk of your debugging (many people do),
unrolling loops doesn't affect your debugging ability.

 Skip

It's a common practice. Also IDEs helps a lot, and advanced interactive shells too (such as DreamPie).

Cesare