[Edu-sig] Python & Smalltalk

Paul D. Fernhout pdfernhout at kurtz-fernhout.com
Thu Dec 21 22:37:47 CET 2006


Arthur wrote:
> My point was only that Paul is saying that Smalltalk was developed 
> specifically for children.  It is never fully clear to me in conversing 
> with Paul whether he means for children to *write* or for children to 
> reap the benefits of what can be accomplished by adults that can. 

If I have been unclear on this issue it was unintentional. Smalltalk, 
according to its creators, was always first about kids being able to write 
their own programs.
   http://portal.acm.org/citation.cfm?id=155364&dl=ACM&coll=portal
However, another issue is kids being able to understand and extend the 
work of others, and that brings one further into the second category you 
mention; they are not completely disjoint. In fact, most work done in a 
Smalltalk image is generally adapting other people's work to your current 
needs. Very rarely is stuff written completely from scratch. Libraries and 
classes arr reused; one often starts from working running application, 
say, a paint program) and makes incremental changes until it is more what 
you like, say, a program to design maps.

Also, Kay, as in his 1972 paper of the title, seems to sometimes use 
phrases like: "A personal computer for children of all ages". So, you see 
he is playing fast and loose with what it means to be a "child", perhaps 
often meaning not age but a state of mind, as in "child-like" or "playful".

However, you would be right to call Alan Kay on what "for children" means, 
as you have in the past. Even he has said in public lectures (jokingly) 
that the way to get money to support work on new programming systems that 
are easier to use is to pitch them as if they were for children (since 
everyone wants to make things easier or more possible for kids), whereas 
if you pitch work to make programming easier for adults, at least 
historically he says the response is something like (not his exact words), 
well those engineers should just suffer and use what we have right now, 
what do we pay them for anyway? :-)

I think he did find an interesting and effective sales pitch to continue 
his work, which I think is broader than just for people of, say, the five 
to fifteen year old range. I think he genuinely does want better to use 
systems, if for no other reason than so he can use them himself for 
example. But I see nothing wrong in that -- much software gets developed 
because someone wants to develop it to scratch a personal itch. However, 
Alan Kay, having said *something* like that is still somewhat wrong about 
that. There are, at least now, two reasons better programming languages 
get built.One is that people just build them for personal or academic 
reasons. The other is that people make arguments based on programmer 
productivity (e.g. Jython developers are, say, 4X more productive than 
Java programmers :-).

You are also right to question Constructivism as an ideology, methodology, 
or so forth, on the general grounds it is good to be skeptical of anything 
people pitch for kids for any reason; still, that is where we part ways 
obviously, since I do see the value in a constructivist approach towards 
education, meaning, present kids with tools and objects they can use to 
build things with and hope learning occurs for many if they are ready; 
present them with things they can take apart to see how they work (say, 
working drawing program), and let them take them apart or change them if 
they want. And your PyGeo
   http://pw1.netcom.com/~ajs/
is a great example of that kind of constructivist tool Alan Kay and 
Seymour Papert and so on would admire as a Geometry Microworld. [Ducks. 
:-)] See:
   "The Turtle's Long Slow Trip: Macro-educological Perspectives on 
Microworlds."
   http://www.iaete.org/soapbox/microworlds.cfm
(Also note that Papert believes in both "Microworlds" (much about little) 
and "Hyperworlds", the World Wide Web being an example of the second -- 
(little about much, or in his words: "large world of.. loose connections").
    http://edtechlife.com/files/Wagner_Mark_KAM_II.pdf

That does not mean other forms of education are invalid. Some people learn 
better by other channels, some people have different interests or needs, 
everyone benefits from reading the appropriate books or tutorials at 
certain times which are essentially mini lectures, and so on.

Personally, for younger kids, I am leaning more and more to "media 
restriction" in the early years (say, five to seven and under) as a very 
good thing. See for example the Waldorf policy on that:
   http://www.openwaldorf.com/media.html
   http://www.waldorfhomeschoolers.com/media.htm
 From the second link: "We KNOW the facts and the facts are that CHILDREN 
HAVE ABSOLUTELY NO BUSINESS TO SPEND TIME IN FRONT OF A TELEVISION SET OR 
COMPUTER SCREEN. That's it."
So the Waldorfers might lump your PyGeo and Alan Kay's Squeak into the 
same boat, both problematical from that point of view. :-)
My position is not as extreme as theirs, of course. :-)

In the end, perhaps what you may smell as "silicon snake oil", I smell as 
"salesmanship". Although there is also this intermediate position on the 
larger revolution Alan Kay helped bring about, exemplified here: :-)
    "A Snake, Some Oil" [A review of _Silicon Snake Oil_ by Clifford Stoll]
     http://www.ibiblio.org/cmc/mag/1995/sep/mcgreal.html

But the truth is that all people's promotional actions, my own included no 
doubt thought I try not to, are in part of at least a little hype and hot 
air and BS.

Personally, one way my opinions differer from Alan Kay's in a deep way is 
on his, I think mistaken, notion that an object (or a class) can have any 
meaning apart from the ecology of objects (or really classes) it is 
embedded in. I think there is a deep philosophical (and practical) point 
there which he is perhaps only slowly beginning to see. :-) But it is 
reflected in the superiority of, say, Python's modularity in practice 
compared to early Smalltalks, that is, if you think classes stand along, 
then there is no need for a higher level of "module", whereas if you think 
classes need to be clustered to support each other, than modules make a 
lot of sense. But that really is a different category of difference then 
the ones you outline.

--Paul Fernhout


More information about the Edu-sig mailing list