[Edu-sig] The keyhole problem and learning environments

kirby urner kirby.urner at gmail.com
Fri Jul 14 19:31:42 CEST 2006


> Having said that, I still think there is a tension between two approaches.
> One is getting people to invest a modicum of effort up from to learn a
> small set of good tools like Smalltalk had even 30 years ago (browser,
> inspector, debugger and transcript being the core ones) to give a
> consistent experience to working with a well thought out core library. The

I don't think you'll have much leverage if your pep talk in the locker
room is all about catching up to some dead language nobody cares about
anymore.

> I don't want to sound too complaining, but perhaps there are a lot of

Don't worry.  We're adults here, have strong filters.

> Still, in the case of Python development tools, and not having sampled
> them *all* myself, of the ones I've tried (Eclipse & PyDev, Eclipse &
> RedRobin, Idle, Boa Constructor, Scite, and a couple others) they do lack
> core features that any Smalltalker takes for granted -- for example always
> having an integrated restartable debugger available during development, or
> there usually being two levels of naming for methods and classes (i.e. an
> organization "protocol" or "category" level above the actual object or
> method level; almost all Smalltalks support this).

I find this paragraph very confusing.

Weak (getting stronger) IDEs are one thing, but this "two levels of
naming for methods and classes" sounds like a language thing -- apples
and oranges no?

It's like being a new teacher at a school for awhile then saying "at
my *old* school we had this layer of assistant vice principals who
took care of *those* kinds of tings."  Like, ahem, so?  This isn't
that school.  Bureaucratic structures aren't continuous across
namespaces.

But maybe you *do* have a coherent way of phasing in "protocol" or
"category" that doesn't involve changing Python-the-language.  Maybe
if I downloaded PataPata I'd see what you meant.

Like I said, I'm simply confused.

> other core missing features. Not to say Python doesn't have its own
> advantages, but the commercial Smalltalk libraries I've seen for all sorts
> of core things are just more complete than Python's (for example, all the
> stuff you can do with streams).  [Python may win on breadth of free stuff,
> especially web related.] Granted there are also drawbacks to some of
> Smalltalk's approaches to things, and some of the libraries can require
> abstract thinking to use them, but, when working on large projects, in my
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Sounds condescending.  As if, oh, and you might have to be a little
smarter to use my favorite dead language nobody cares about.

Python has a nice clean API relative to Java's jumble of stream
wrapped buffer objects or whatever (fun to hear Eckel on this).  Don't
mistake simplicity for a lack of sophistication.

But if you want to take a specific concrete example, maybe we'll see a
need for your missing-from-Python abstractions.

> mind there is little comparison, a good Smalltalk like VisualWorks (though
> maybe not always Squeak) wins over Python (for large projects) because it
> is easier to manage complexity in it usign those features. There may be

The key words here:  "in my mind".

> lots of good reasons for using Python anyway, including being
> free-as-in-freedom, or being easy to learn for C programmers, but one
> should be realistic about its relative weaknesses so one knows where
> improvement can be done.

I don't see you as being realistic *at all* about these matters.
Attributing Python's widespread use to its being easy to learn for C
programmers is just negative propaganda (which isn't to say there's
not a connection:  C is a great language to study after Python, if
you're really serious about a career in CS).

I don't think there's any hope of SmallTalk being ressurected, but I
do see that Ruby is now being compared to SmallTalk a lot.

> And, obviously, the Squeak Team led by Alan Kay has been moving more in a
> simplified interface direction. They now have eToys, and beyond that

I don't get the impression Alan Kay is leading the Smalltalk community
anymore.  He told us at the summit that he's a SmallTalk slayer.  I
think of him more like Ward Cunningham (consulting with Microsoft last
I checked in), another former SmallTalker who came to Python with
humility and respect (as I did, from APL and xBase), even though he's
the inventor of the Wiki.

> around it. So, some big cultural divides are there historically in how the
> communities and technologies were created and evolved -- each with some
> good points and bad points. So, one could also argue that your stepping
> stone approach (or "learning steps" and "shallow curves") is also as much
> an introduction to a Python community and related philosophies of freedom
> underlying the diversity of tools and libraries as it is learning to
> program. :-)
>

I would agree with this.

Python and SmallTalk have very different histories, very true.

However, they overlap in my own experience in that bfi.org's first
plan, around archiving the Fuller stuff (digitizing, making
searchable), involved SmallTalk, under the leadership of Hal
Hildebrand.

A subgroup of the LA construction mafia, interested in domes,
contributed some hardware, but a tiny NGO like BFI just didn't have
enough clout in industry to attract secondary backing.  This enormous
undertaking (digitally archiving a vast correspondence, audio and
video tape etc) was way beyond the capacity of our little team, good
intentions notwithstanding.

Applewhite wasn't surprised I don't think, and angled to slide the
papers into the hands of a more competent and financially supported
institution (as a member of said team, I wasn't insulted, knew we were
way ahead of our time, enjoyed the opportunity to watch Ed up close in
action).

Anyway, I used the opportunity to bone up on SmallTalk V, with
Hildebrand in my ear on the phone (I was living around the corner from
here at the time -- we're talking early 1990s).

In the meantime, bfi.org has come a long way and my efforts to
converge Pythonic mathematics (a subclass of gnu maths) with Fuller's
volume tables, has not gone unnoticed.

Relevant blog entry:
http://controlroom.blogspot.com/2006/06/gnu-math-on-synergeo.html

> Still, I still don't want to let Python off the hook for missing some good
> features Smalltalk had thirty years ago (though I've made some small
> efforts at adding some such things to Python. :-)

What a hero. <<wink>>

> [Well, need to wind this down and I'll be traveling for a week, so maybe
> not much more follow up, sorry.]
>
> --Paul Fernhout

Have fun traveling.

Kirby


More information about the Edu-sig mailing list