[Edu-sig] PySqueak: more on the cultural divide among paradigms

John Zelle john.zelle at wartburg.edu
Sun May 7 03:08:24 CEST 2006


On Saturday 06 May 2006 11:40, Winston Wolff wrote:
> On May 6, 2006, at 11:25 AM, John Zelle wrote:
> > To me, it seems that a 2D/3D persistent scene-graph API  paired
> > with a GUI
> > toolkit, both based on PyOpenGL is the obvious first step toward
> > this goal.
<<snip>>

> But I'd like some clarification on what this goal is.  It seems like
> a lot of people are talking about lots of cool technology, but I've
> not read what we are trying to do with it.  And of course we wouldn't
> want to build a technical solution in search of a problem.
>
> Everybody is talking about a new 3D GUI and IDE.  What exactly are we
> trying to achieve by building a new GUI?  What is wrong with existing
> Windows/X/Mac GUIs for an educational project?  If we were talking
> about UI research then developing a new GUI system might be
> interesting, but for educational purposes, it seems like we have
> enough to do to achieve educational goals, without trying to
> redevelop a GUI system.

Kirby has already weighed in with his grand vision. My goals are much more 
modest (though not necesarily in opposition).  Winston is right that there 
are lots of great tools available now, an embarrasment of riches so to speak. 
We can and should plunge ahead with educational materials. Still I have an 
itch that is currently not scratchable, and I think requires reinventing the 
wheel. I am looking at Python as a learning environment for computer science, 
as a platform for building compelling educational material (e.g., bringing VR 
to the classroom), and as a sandbox for all kinds of experimentation.

Here's what I don't have now:
1) An easy to use 3D environment (ala VPython) that is extendable in Python.
When I need realistic materials or textures, I want to be able to add that 
without having to wait for the C++ gurus to put it into their library for me 
or having to wade into that muck myself.
 
2) A solid, easy to program cross-platform GUI toolkit that integrates with 
#1. I cannot now reliably develop, say, on Linux and expect that my students 
with various flavors of Windows and Macs will get the same experience. 
Educational apps/IDEs/enviroments need to be rock solid, snappy,  and 
consistent across platforms. We really don't have that now. There are always 
extra layers and external dependencies that get in the way. Maybe PyQT4 will 
solve this one? 

3) A simple to use GUI builder (ala Visual BASIC, but more basic ;-) for #2 to 
take the tedium out of widget placement.

4) For CS education (and all those interested in knowing how computers really 
work), it would be great if the Python graphics stack went all the way down 
to the machine (actually OpenGL) level. Like Squeak, but using hardware 
acceleration. Then everyone has a ticket to play just by learning Python and 
showing some curiousity. Can we program a modern 3D game, for example, in 
Python? Or is knowledge of C++ the price of admission. I don't know, and I'd 
like to find out. 

I think #4 is where I part company with Kirby. I'm not looking for some 
machine-level 3D libraries that are scripted via Python (or another 
high-level language, ala Alice). I want the snake all the way down, and I 
want the underlying graphics engine to be installed everywhere Python lives 
with OpenGL, so that I can count on it. 

I know I'm asking a lot, but I also think it's all doable. This to me would be 
the foundation for a "better than Squeak" Python environment. The "saving the 
state" issue seems secondary to this basic foundation. How can we even talk 
about saving the state of widgets that we don't "own."

--
John M. Zelle, Ph.D.             Wartburg College
Professor of Computer Science    Waverly, IA     
john.zelle at wartburg.edu          (319) 352-8360  


More information about the Edu-sig mailing list