[Edu-sig] Version 0.2.03 of PataPata released (adds Jython/Swing support)

Paul D. Fernhout pdfernhout at kurtz-fernhout.com
Wed Aug 9 00:53:54 CEST 2006


kirby urner wrote:
> However, I have had many hours in an intimate setting with Kay
> himself, and so am not shy about stating what I think were his clearly
> expressed views e.g. (a) we haven't yet done enough to empower
> children (adults abuse their authority by dumbing it all down too
> much) and (b) we should have killed off Smalltalk long ago, but people
> since Kay have generally been too stupid to come up with a better
> language (victims of (a)), with maybe the exception of Guido.

That sounds about right. But to be clear by "killing smalltalk" he doesn't 
mean Smalltalk is worse than any other language, just that he wants 
something even better. It goes along with is mantra of "burn the disk 
packs" and also, as I reflect on it, points to one of the sources of 
conflict in the squeak community -- between those wanting Squeak to be a 
good free Smalltalk implementation, and Alan Kay wanting it to be a 
stepping stone to something much better. The problem was though -- that 
without a relatively stable base, all the blue plane efforts got bogged 
down in the mud of silly little problems any commercial Smalltalk long ago 
resolved (e.g. even things like not having underscore for use in names -- 
mapping to a return arrow instead).

In this video:
   " Alan Kay: The Computer Revolution hasn't happend yet. Keynote OOPSLA 
1997"
   http://video.google.com/videoplay?docid=-2950949730059754521
Alan Kay talks about the pink plane and the blue plane of thought. 
Simplifying, pink plane activities are exploring agreed on spaces (like 
playing a game by its rules) and blue plane activities are pushing 
boundaries (like making up new rules for a game).

This previously mentioned link relates to that:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2003-February/052648.html
 From there:
"To have a tension between the "Pink Plane" and the "Blue Plane" in
Squeak, you would need a "Blue Plane" to begin with, and there isn't
one. No, the tension is only on the Squeak list, where for years now
people crop up requesting blue plane things (blue plane widgets, child
windows and separate system windows, small deliverable images, too name
some). These requests often turn the Pink Planers red, and so provoke a
genuinely hostile (or more often, condescending) response. There have
been some valiant attempts in the Blue plane during that time, but the
general direction that Squeak has taken for the last few years has taken
us further away from having a Blue Plane, to make it more like eToys, to
have an image more and more addled with osteo-pink-plane-itus. Make
Morphic *more* like eToys?! Oh how little that idea appeals. The Pink
Plane is a plain old pain."

I quote it because it reminds me of your comments on list sometimes. :-)
And this is not to disagree with your points on using Python as-it-is for 
education -- in the sense that you remain absolutely correct that Python 
is a great system and people can learn a lot using it just the way it is 
in the manner it was primarily intended (as something better than C or 
shell scripting for those who already know C syntax and shell scripting). 
Or, because of its continued success over the past decade, that is is now 
a good first language for programmers (for reasons relating to community 
and libraries and popularity, as well as other good things about it).

Now this is not to say any specific camp is right or wrong -- just to 
point out the difference in hopes, dreams, fears, and so on by various 
groups. The thing about lists and projects is they often become 
self-selecting -- people come to them, see the main line of philosophy or 
effort is in a different direction, and go onto other lists.
Also, in a sense, relative to a Smalltalk Pink Plane of experimentation, 
Python has explored a relatively blue plane of reliability and modularity 
and so on. So labelling of  planes are relative to expectations and 
communities.

> With PataPata, it seems you're unhappy with Python being a crystal
> clear implementation of a simple paradigm, and want to schmoo it into
> something for which its ill-suited, but which Self and/or Smalltalk
> may handle quite well.  You'd like to ruin Python in other words.  Or
> so it sounds to me.  But I don't worry about it, as I know Guido well
> enough to know he's ruthless about keeping Python on track, at least
> through this 2.x series.  But maybe he'll have a mid-life crisis and
> decide we should all be learning Smalltalk instead.

I guess you could put it that way? Although perhaps one person's "ruins" 
are another person's "foundation"? :-)

Ten plus years is a long time to stick with any one project. And sounds 
like, at the very least, Guido must be pretty jaded with "Monty Python" 
jokes by now. :-) So what is the "Pink Plane" for Python? Some interaction 
of Guido and the (self-selecting) community will define that.

Anyway, with PataPata so far I have tried to stick with just adding a 
library to Python, although now I do use a metaclass function (inspired by 
suggestions on this list from Ian). Prothon shows the difficulties of 
mucking with the Python syntax.

Still, I think you are right that I am using Python in a way that is 
somewhat at odds with the main paradigm of Python development (class based 
vs. prototype, emphasizing functions versus properties). Will that lead to 
reconciliation or divergence? I'm not sure, but I do know this -- one the 
big issues that Guido must wrestle with as a language designer with Python 
are that its fundamental syntax is not extendable in a way that 
Smalltalk's can be.  We already see that with various additions related to 
collection iteration (Python needs PEPS and hacking and committees for 
things that are literally just one method to write in Smalltalk). And 
unlike using Forth or making Lisp macros, Smalltalk-style language 
extensions (e.g. making one up: "inject:into:except:limit:") are fairly 
easy to understand and consistently use and debug.

I think I am now exploring the limitations related to properties and 
prototypes in Python-as-it-is. So, will Python4000 (not 3000!) have such 
ideas in it? Who knows. Should I try to put them there -- probably not for 
me (too much politics)! But, Python's worth playing with in any case, even 
just to prototype some ideas in a way that is accessible to a lot of 
people. So, most PataPata work so far then isn't education about Python, 
but it is education (including self-education) with Python. :-)

--Paul Fernhout


More information about the Edu-sig mailing list