Thanks for the clarification! And my own lengthy response wasn't
intended to be argumentative, only to explain the context within which
this feature is highly important. It's possible that this context is one
of the largest deployments of Python (and IDLE) with people who have no
programming experience.
Bruce Sherwood
Michael Foord wrote:
Bruce Sherwood wrote:
I don't have a problem with it being an option to have the error
window come forward, and we can argue about what the default should
be. But I'd like to explain in some depth how extremely important this
is in certain environments.
For the record, if it only happens the first time I have no problem with
it being on by default. My earlier response was only in the context of
the reply that annoying users was no problem as it would teach them a
lesson.
All the best,
Michael Foord
Ruth Chabay and I have developed an alternative curriculum for the
introductory physics course taken by engineering and science students
in their first and/or second year in the university (see
http://www.matterandinteractions.org). This new curriculum emphasizes
a 20th-century perspective on introductory physics, in stark contrast
to the 19th-century perspective that has been traditional for over 50
years. One of the implications is that computational modeling plays an
important role in the curriculum, with students writing Python
programs to model physical systems (actually, VPython, a 3D
programming environment; see vpython.org). This is a vitally important
innovation, because computational modeling is now central to all
engineering and science but has hardly penetrated the undergraduate
curriculum.
Almost all of these students are very knowledgeable in the use of
computers except for one type of use: programming. So every semester
there are thousands of students writing VPython programs despite
having no previous programming experience. This is feasible thanks to
the cleanliness of Python, and the fact that we need teach only a very
small subset of the language, just sufficient for our purposes, and to
the fact that VPython generates navigable 3D animations as a side
effect of computations.
These novices need all the help the environment can give. A continual
major problem is that a student will stare without comprehension at a
halted animation without realizing that the halt is due to a program
error, because the shell window is hidden behind the animation window.
It is really really really important for the shell window to come
forward when there is an error.
Thanks to those who have responded to Guilherme's summary of new
features, it is evident that there may be sophisticated users who
would be inconvenienced by this change, so it makes sense for it to be
an option. I would argue strongly that the default should be to bring
the shell window forward, as Guilherme has now implemented, because
the sophisticated user can deal with the issue, whereas the novice
user is unlikely even to look at the configuration options in IDLE.
Bruce Sherwood
Guilherme Polo wrote:
2009/8/17 Guilherme Polo <ggp...@gmail.com>:
2009/8/17 Michael Foord <fuzzy...@voidspace.org.uk>:
Tal Einat wrote:
[snip...]
* Bring IDLE's shell forward on first thing printed to sys.stderr,
this can only happen again after a shell restart. I consider
this of
great importance when writing programs that may open other windows,
like a Tkinter program, or a Visual one, since the user might
expect
something to happen on that window but nothing happens because
of an
error that occurred without him noticing. As reported by Bruce, the
lack of this feature has been a big problem in courses where
novices
write such programs and don't understand why an animation has
stopped,
because the error message is behind other windows.
-0 (doesn't this mean having to *constantly* move the window out
of the
way
when your logging code causes it to jump in front of your GUI)
... which would teach users to only log actual errors to stderr.
+1
Really? Even in libraries they didn't write?
Deliberately pissing off users, even in the name of teaching them good
habits, is never a good strategy.
I have no doubt this is a feature that might help some and annoy
others. I still stand on my opinion that it is a good addition, but
making it optional seems really the better way to go.
It is now "officially" an option, defaulting to bring shell forward on
first error.
_______________________________________________
IDLE-dev mailing list
IDLE-dev@python.org
http://mail.python.org/mailman/listinfo/idle-dev
_______________________________________________
IDLE-dev mailing list
IDLE-dev@python.org
http://mail.python.org/mailman/listinfo/idle-dev