Wayne, thanks for your thoughts. I am all for the scientific method--in understanding the natural world, which doesn't come with a manual. But Python is an artificial system designed by mere people (as well as Guido), and, as such, does have a manual. Ideally, there should be very little need for experimentation and "hypotheses". That said, yes, when learning the language a little experimentation along the way is fine, and error messages Python throws back to you or unexpected results can and should be a form of real time instruction.
But what I meant is that if one is writing a program, there is a way to **know**--without experimentation--what a particular set of code is going to do. This is often cognitively demanding work, but it is possible. And my point is that it is, in the end, far more efficient to be disciplined and do that work rather than try to take shortcuts by simply trying a few things until one of them works. In sum: experimentation is for when you don't know what you're doing and there is no manual; but, after the initial learning time, you *should* know what you're doing and you should have the manual handy, and therefore the time for experimentation is largely over. -- http://mail.python.org/mailman/listinfo/python-list