[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