[ANSI-Smalltalk] squeakers

Jecel Assumpcao Jr jecel at merlintec.com
Thu Jan 17 21:11:08 GMT 2008


I see that possible concerns of the Squeak community about the standards
process were discussed on this list long before I joined, but if you
don't mind I would like to address this issue. A good start would be to
divide that community into three groups:

1) eToys (and Scratch) users

This is the silent, but vast majority. The are mostly children and their
teachers and build their applications using a tile based visual language
representation. They are mostly (or completely, in the case of Scratch)
isolated from the underlying Smalltalk layer so if a comparable
environment were to be created on top of Python or Javascript instead
they would probably be just as happy. So obviously they don't care at
all about Smalltalk standardization efforts. And we, on the other hand,
don't have to care about them even though their numbers are growing at
an increasing rate due to OLPC and similar projects.

2) free Smalltalk-80 camp

Where "free" just means no cost to some while others insist on open
source. Many in this group also use other Smalltalks and find Squeak's
differences to be a problem. Some are bothered by the Morphic user
interface and would prefer native widgets, MVC or even nothing at all in
the case of embedded or web applications.

You would think that this group would push hard for compatibility with
the ANSI standard and there is some effort in this direction, but not
nearly as much as there should be. I can't think of what could be done
to increase awareness about the importance of the standards project
among these people that hasn't been done already.

3) the "inventing the future" guys

In his first OOPSLA keynote, Alan Kay said they had not created Squeak
to give people a free Smalltalk, but rather a tool with which to build a
far better replacement for it. Some such projects end up starting over
while using some stuff from Squeak (Fonc/Cola, Slate, my own Neo
Smalltalk...) while others grow Squeak itself in new directions (Spoon,
Traits, Morphic, the extensions for Tweak and Croquet...).

It is this third group that worries about standardization being a
barrier to innovation. They feel that making Squeak compatible with ANSI
and/or other Smalltalks would hold it back. In some cases it might be a
matter of laziness - adding stuff to Squeak that other Smalltalks
already have without the least effort to see how they did it, which
introduces needless incompatibility. In other cases there seem to be
technical advantages of doing it differently.

My impression is that many of these worries are not based on fact. The
current ANSI standard allows a lot of flexibility by defining most
things in terms of "protocols". So not only would being ANSI compatible
not keep Squeak from adding Traits, but adding these would actually make
it *easier* to conform to the standard. Even a version of Smalltalk that
doesn't implement classes can be fully compatible as long as a few key
global objects implement the "Factory" protocol somehow.

So as long as similar care is taken in upcoming versions of the
standard, I feel that the need of this third group will have been
properly addressed. It is important that they know this, of course. Once
this effort picks up steam it will be important for any Squeakers here
(including me) to tell groups 2 and 3 about it.

-- Jecel



More information about the ANSI-Smalltalk mailing list