[Edu-sig] Freedom: some Smalltalk history and Python implications

kirby urner kirby.urner at gmail.com
Thu Aug 10 08:49:41 CEST 2006


Hey Paul, thanks for the lengthy narrative, which I found quite fascinating.

I want to clarify that when I speak of Smalltalk as a "dead language"
that's not out of disrespect or dislike.

It's really OK to be a dead language, and I think what I mean by that
is it's no longer anyone's ego child, not championed by the living.
It still may be running mission critical applications however (like a
container shipping service) and will need to be maintained and/or
rewritten.

Sometimes the easiest thing is to just keep knowledge of the language
alive, like we do Latin, other even more ancient languages (Etruscan
to some extent).  An elite class of specialist learns enough to
maintain existing applications.

But there's no great vision of the future, no expectation that the
language will be making big leaps.  It's not "alive from the inside"
the way Python currently is, still taking shape and all that.

That's not a great tragedy or anything.  Languages are mortal, just as we are.

Now it sounds from your posts that you still nurture the hope for some
killer app to rescue SmallTalk (sorry for the CamelCase).  I wouldn't
say that's impossible.  Computer languages are still relatively new on
the scene (we're only a couple generations from Rear Admiral Grace
Hopper), and maybe there's this phenomenon of "language revival" where
a once-considered-dead language magically resurrects and starts a
whole new life.  I hear Prague is a big center for FoxPro.  If
Microsoft kills the Fox, maybe it'll pick up in Prague, some two and a
half centuries hence.  Dunno.  What if.

In the case of Python, I don't know yet how deeply you've appreciated
its intricacies, or are you still skating on the thin ice of "looks a
lot like C".  The resemblance is somewhat superficial.  Have you at
least read Martelli's book, Python in a Nutshell?  I'm guessing you
have, but if you haven't I recommend it.  And go to his talks.  All
about Design Patterns.  Stuff a Smalltalker might grok.  At that
level, the OO implementation language is kind of so what.  Python
expresses the ideas cleanly, but if you have a different shorthand,
and want to talk Design Patterns in Smalltalk-oriented study groups,
why not?

I think we all need a "vacation language" by which I mean a current
fascination, not so load bearing as to be called "work" let alone
"mission critical."  For me, that'd be J these days.  It used to be
Python (which I came to through Java).  Also:  ActionScript.

When you talk about Prototyping, coming from Self, that sounds a lot
like how the Flash people talk.  At Saturday Academy, you find a lot
of young people diving headfirst into Flash.  Flash and Shockwave
might be two of the biggest hits with a lot of teenagers soon
(actually, try Gamemaker), provided we succeed in our efforts to
seriously reschool in some critical path dimensions.

I think if you don't really respect Python, you won't really be happy
putting many eggs in this basket.  And I don't see it as my job or
even mission to "win you over" in any way.  You're a very intelligent
adult, capable of doing your own brainwashing.

However, I do cop to seeing you as unproductive/ineffective at the
Pink level in the Python Community.  If you were serious about syntax
changes, you'd be writing PEPs, but you've already declared your
aloofness from politics (PEPs get political -- you have to defend them
on comp.lang.python and places).

At the Blue level, I think you could beneficially focus on
language-independent content, so long as you want to hang in the
Python community without really having an in-depth appreciation for
Python.

What were kids supposed to DO with PataPata.  What's the curriculum?
How do star systems and navigation fit in?  When do we start talking
about topology?  How does the calculus figure in?  Kay talks quite a
bit about teaching calculus.

These are the kinds of questions I face daily when writing a Pythonic
mathematics curriculum.

It's not that much about syntax -- although I must say I was pleased
with that  fib.next()/fib.next() convergence, using generators, to
1/phi or tau or whatever (.618...).  I think the idea of generators,
coding them, will help with the idea of limits, as the post-Newtonian
French conceived them (L'Hopital et al).

Kirby


More information about the Edu-sig mailing list