FW: [Edu-sig] Getting it going

David Scherer dscherer@cmu.edu
Fri, 4 Feb 2000 13:00:18 -0500

> > I've also found at the conference that there are already at least half
> > a dozen serious IDEs (interactive development environments) for Python
> > in existence or under development.  I still want to continue to use
> > IDLE to experiment with some advanced features (such as syntax
> > checking while you type), but I think it's important that the
> > classroom materials allow the choice of different IDEs -- if only
> > because not all IDEs work on all platforms, and we do need to support
> > Windows, Mac and Linux!

This may be appropriate in the very short run.  However, I think that a
completely cross-platform IDE suitable for novices needs to be developed,
packaged with everything that will be needed for novice users in an
absolutely airtight installer for every platform, and distributed with
tutorials and course materials.

Programmers are conditioned to believe that the lexical content of a program
is everything, and that the programming environment is secondary.  This is
just not the case.  To draw an analogy from an introductory Psych course I
once took: when scuba divers are taught factual information ("What should
the pressure in your oxygen tank be?") in a classroom and then tested
underwater, they perform poorly.  If they are taught underwater and tested
in the classroom, they perform poorly.  If they are taught and tested
underwater, they perform well!

Environment is at least as important as syntax in ease-of-use for beginners.
Further, students should be able to work in the computer lab at school and
their computers at home in a consistent environment.

Another issue is that the IDE needs to be absolutely stable.  IDLE and most
other Python IDEs share a single Python interpreter with the user program.
I am convinced that this architecture is unacceptable for novice users (and
for me!)  A program like:

while 1:

executed in the console-mode python interpreter, can be easily stopped with
control-break.  The same program in IDLE will cause the editor to freeze,
possibly destroying unsaved changes, and force the user to use OS-level
mechanisms to kill the process.

The single-interpreter architecture also causes problems running programs
that access the same libraries (e.g. Tk) as the IDE.

Features like symbolic debugging are much harder if the user program runs in
a separate process, but I think that stability needs to take priority.

> Unfortunately, yes. Alice isn't crossplatform, is it?

No, it's based on Direct3D retained mode (version 3, no less) and will not
be portable until and unless that changes.

> But what does any other IDE have what Idle does not have? Idle is
> crossplatform, isn't it?

As of a few weeks ago, at least, it did not run on the Macintosh.  As much
as I dislike MacOS, the Macintosh is important in many educational settings.

I'm not clear on WHY it does not work on the Mac.

Dave Scherer