[Edu-sig] Creating worlds -- graphical interfaces

Kirby Urner pdx4d@teleport.com
Sat, 05 Feb 2000 19:34:45 -0800


>different groups of students of different age and background. The
>manipulation of graphical objects on screen is a useful task for younger
>students because it is highly motivating and it provides immediate feedback
>about the correctness of a program's logic.
>
>To be successful with younger students, Python needs both a straightforward
>development IDE and tight integration with a cross-platform GUI library that
>covers Mac, Windows and Linux. I've not done GUI development with Python

I'm not sure I agree with Jim that tight integration with 
a cross-platform GUI is essential.  Python is very good as
a "glue language" that finds ways to establish working,
collaborative relationships with a lot of other tools (Tk
is one such).

I think this is a feature, not a bug, and it inspires kids
to look beyond Python, and to think in terms of using one
software tool to control another.  That's useful.

When it comes to graphical output, I use Python with a freeware 
ray tracer called Povray (www.povray.org).  I've done lots 
of graphics in this way, and melded their production with 
a more formal presentation of geometry/algebra concepts (as 
per previous posts).  But at no point have I felt a strong
need to code a GUI in support of my curriculum.  

IDLE itself is a GUI of course, and I'm all in favor of 
having kids code using some intelligent interface that 
automatically color-codes key words, does other housekeeping.  
But we already have this in several forms -- and yes, there's 
always room to make it better.  

What I would never give up, in my ideal learning environment, 
is an interactive command line.  But you can get that with
Python in Linux or DOS in a terminal window, and still make 
do.[1]

I'm going back to my original theme:  I think we dilute the 
potential if we just dream and scheme about what Python could 
or should be, that it isn't already.[2]  

I'm sure Python will continue to evolve, but it's something 
that we could be phasing into more learning environments 
right now, today -- with 0.0 enhancements.  

Posts which use this ("immediate suitability") as a premise 
are more interesting to me at least, even if I dream of a 
unicode implementation that allows native Thai speakers 
to do all their coding using the Thai character set (same 
engine, alternative non-ASCII fonts with renamed key 
words).

I think putting out ideas about how Python needs to be
tweeked (or even overhauled) in this or that way, before
knuckling down to the real work of integrating it into
the curriculum, is to let oneself off the hook to easily.
It's like saying "3 years from now, when Python X.X 
comes out, then maybe we can...".  I really don't have
much interest in such speculations, personally.  

Python is a nifty little package right now.  More teachers 
should be aware of the potential.  Ideas about how we need 
to "improve" it fail to answer their need, which is for 
solutions they can implement today, not tomorrow.

Just my two cents.

Kirby

[1] PS:  I highly recommend the small, slim paperback 
"In the Beginning was the Command Line" by Neal Stephenson,
author of the best-selling 'Cryptonomicon'.  It's about 
the history of OSs, weaving together lots of metaphors 
about culture (borrows a lot from H.G. Wells).  Not 
just somebody getting on a soap box and venting their
pet peeves -- way more informative than that.  Gives
another perspective on GUIs though, and gives ammo to
those who think a command line is a great place to cut
teeth, if you really plan to grow up as more than just 
an "end user" of other people's code.

[2] "Re recent posts, my operating assumption is there's 
no time to change the language.  Case sensitivity and 
the interface are just the way they are.  
http://www.python.org/pipermail/edu-sig/2000-February/000015.html