[Idle-dev] Py-CVS Release 2.1 Merge

Guido van Rossum guido@digicool.com
Sat, 14 Jul 2001 21:20:01 -0400


> There should be two separate ways (e.g. two separate start menu icons on
> Windows) to start the editor and the shell.  I believe there is already
> a way to start in shell mode using different command line arguments.

Good point.  The command line interface could be better.  E.g. right
now when given a file it runs that file, which is almost never what
you want I believe.

I also would like to see Windows specific hacks that make it possible
to invoke IDLE as the editor by right-clicking any .py or .pyw file
and selecting "Edit File" from the context menu, even if IDLE already
runs.  This may only work when the win32all extensions are loaded.

> The VPython idle starts in editor mode by default because the shell mode
> does not provide remote execution (which is essential for us) and
> because Bruce and Ruth were not interested in the shell as a pedagogical
> tool*.  

When the goal is learning Python (rather than physics), I find the
shell the best tool there is.

> Dave
> 
> * Because of the irreversibility of actions: unlike in an editor, "undo"
> doesn't, and correcting a mistake can sometimes be impossible.  The
> "responsiveness" of a shell, on the other hand, is very nice for
> learning, so we tried to get as much of that as possible into the
> editing environment (e.g. with single-key run).  The preferred use of
> the editor is then to re-run the program after every few lines of code!

TeachScheme has an interesting mode that I like.  Whenever you run a
script, the "shell" environment is created afresh, and the shell can
then be used to inspect effects of the script.

The whole interface for running scripts needs to be changed; I'd like
to see a one-key binding that pops up a dialog where you can specify

- whether to use debug mode
- command line arguments

Pythonwin has this (plus an option to suppress the dialog and use last
time's defaults).

--Guido van Rossum (home page: http://www.python.org/~guido/)