[Edu-sig] Python & Smalltalk

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


Arthur-

Sorry, to be clear my point here on "toned down" was mainly about the 
specific statement you made, or rather the use of the specific word 
"pretense". I toned "pretense" down in my mind and replied more to 
specific issues relating to Smalltalk history and the funding of Squeak's 
core developers for a long time, and how Squeak has perhaps struggled to 
meet those objectives and hopes and aspirations for it (including many 
educaitonal ones) in part because of that history. :-) Whereas Python and 
its core community is in those ways on a more solid footing.

On a practical reality, I fired up the latest Squeak the other day and 
beyond my usual confusion with it relating to not mapping right mouse to 
popup a context-determined menu, :-) within minutes I was generating 
exceptions and so on as I tried to use other-than-trivial code included 
with the system (e.g. running the script to change underscores to colon 
equals, as well as some other things I forget off hand). I knew more than 
one person who in years past inspired by an Alan Kay presentation have 
tried Squeak only to encounter lots of bugs and problems with the core 
tools or trying to duplicate the demos he shows. Python never has done 
that to me. That's why I tend not to recommend Squeak to anybody but 
either die-hard Smalltalkers or people looking specifically to stretch 
their minds (which of course in theory includes kids :-). Whereas almost 
all the people I recommend Python to, on a practical basis, come away 
impressed and become users; Python fits into their ecosystem of tools and 
existing ideas fairly easily. That makes me sad because I know Smalltalk 
does not have to be that way; I know if I recommended, say, VisualWorks to 
people, they would not be experiencing those basic problems (and there is 
no reason Squeak's features like eToys or 3D Croquet could not run on such 
a stable platform, in theory). Unfortunately VisualWorks is not "free" in 
a "free as in freedom" sense the mainline Python version is.

Of course I could fix Squeak's specific problems (as I see and experience 
them) with enough effort (in theory, with enough free time, which is 
limited at the moment), since the source is there. But then I am left with 
the licensing issues including the status of Disney contributions (which 
the community is slowly moving to resolve). And then I have my own fork to 
maintain, which is extra effort. I have wrestled with the Squeak community 
before on those issues, and realized, like any community and mailing list, 
a self-selection process has already gone on a long time there, so if you 
don't like Squeak how it already is, you are probably not hanging around 
on the main lists there. So there may be plenty of people who want a 
different Squeak, but most of them are not easily reachable (at least via 
the Squeak mailing list).

The Python community is more inclusive by comparison, in the sense that 
Python as a language is much more agnostic on several points (including 
GUI and tools). So there is more room for experimentation there in some 
ways. Or, at least, there is a bigger potential audience of users and 
collaborators for a successful experiment, like perhaps the Pyglet OpenGL 
GUI system you mention. Python better supports such effort in some ways 
because of its modularity and community history (which I outlined 
previously). Some Squeakers have been so defensive for so long (often, 
though not always, with good reason) that innovation or adopting certain 
standards is harder there (witness a recent conflict about whether 
keyboard input focus should follow the mouse (Squeak) or follow a mouse 
click to shift focus (almost everyone else), not to say there isn't a good 
argument for the Squeak way).

Plus, the copyright "contamination" issue sadly will always remain; there 
is no denying I have exposed to the source of commercial Smalltalk 
incidentally in the process of using them. I could never work in a 
Smalltalk-rebuilding "clean room" effort. In other free software 
development contexts, say, people working on GNU ClassPath as an 
alternative set of libraries to Java, the biggest "no, no" is to have seen 
a related vendor's source and then contribute to that project. Example:
   http://developers.slashdot.org/article.pl?sid=05/03/17/0155235
"Read the fine license, in particular the definition of Modifications in 
SCSL 2.3. Sun claims copyright on any code independently implementing any 
portion of the SCSL-licensed technology *if* you agree to their license. 
So please don't look at their code if you intend to contribute to free 
runtimes in the future. It's the same as Microsoft's Shared Source in a 
different wrapping."

There is probably almost no significant Squeaker who has not been exposed 
to the core code of one of VisualWorks, Smalltalk/V, Dolphin, VisualAge, 
or a few other commercial Smalltalks. Of course, how well an overly broad 
attempt against Squeak would stand up in court is a different issue; it 
certainly also would not play well politically in terms of negative PR to 
the vendor. In some ways, in the end, this single issue may mean the death 
of free Smalltalks long term (barring one major vendor freeing their 
version) -- the fact that Smalltalk was "open source" (taken literally) 
embodied in proprietary products for so long but not "free". Which is one 
reason Richard Stallman dislikes the term "open source" as it deemphasizes 
the freedom aspect. :-) In essence, the history of Smalltalk is 
"brilliance shackled". Since its conception, the history of Python is 
"pragmatism unshackled". :-)

Still, I abhor having to, like Daedalus, turn away from brilliance for 
pragmatic reasons, even though I know what happened to his son Icarus when 
he did not. :-)
   http://thanasis.com/icarus.htm
Especially considering Python was designed as a workhorse, and Squeak was 
supposedly designed for kids and education (both the focus of this mailing 
list, and an interest of mine).

[Of course the metaphor is inverted here since Smalltalk is really the 
older of the two and if anything more like conceptually the father of 
Python. I need another myth where the father encounters disaster the son 
avoids because the sun is plugged into a different community spirit or 
Zeitgeist. :-)]

--Paul Fernhout

Arthur wrote:
> Paul D. Fernhout wrote:
>>ajsiegel at optonline.net wrote:
>>>Squeaks pretense issues, and its licensing issues, are - by the way -  not unrelated
>>>when you look at it.
>>>   
>>Sometimes I think something like that myself. :-)
>>
>>But, to elaborate on your point a little more (in a toned down way :-):
>> 
> It is hard to know how to respond.
> 
> I don't know how to tone down on this particular issue any more than I 
> have.  If you want to call it an obsession, OK.  You can search the 
> archives of edu-sig and find me obsessively attacking Kay and not Squeak 
> itself, but Kay's positioning of Squeak,  from the earliest days here, 
> and suffering attacks here for doing so as:
> 
> a) being presumptuous.
> b) being irrelevant.
> 
> Let's leave it that I fully accept the standard history, the importance 
> of Smalltalk, the role of Kay during the period of history which you 
> recount.
> 
> And the fact that he is un-shy about recounting it, and having others 
> recount it on his behalf, provides him with certain powers, but with 
> certain responsibilities.
> 
> I am not a fan of how he has handled that power and those responsibilities.
> 
> But that if I have not yet successfully communicated why I firmly 
> believe his later efforts, his later approach and most particularly his 
> later "rap" is more destructive than productive, I guess that I have to 
> resign myself to the fact that I never will.
> 
> I assure you, I am making perfect sense to myself - however.



More information about the Edu-sig mailing list