[Newbies] I don't get it

Casey Ransberger casey.obrien.r at gmail.com
Mon Jun 27 20:24:03 UTC 2011

Comments inline.

On Wed, Jun 22, 2011 at 3:05 AM, David Corking <lists at dcorking.com> wrote:

> Erlis  wrote:
> > Now I think I start understanding Jim statement, basically the statement
> is:
> > Smalltalk (the language) adopted the classical way of OO instead the
> > prototype way, so I don't have all the plasticity I was expecting...
> >
> > Do the smalltalkers feel this way?

My 2 cents: one can accomplish a prototypal style using an underlying class
based system and vice versa, with just a bit of complexity overhead to get
it working, as long as the system is malleable and late bound.

If Smalltalk-80 had any disadvantage for going with classes, it's that one
regularly has to teach new people what the instance/class toggle in the
browser is all about, and a lot of folks, especially when coming from early
bound systems where classes are simple blueprints and not actually
themselves objects, do seem to struggle with this at first. Fortunately, it
becomes natural quite quickly if there is someone around to explain it, and
that's why we have these lists!

> Perhaps. But Squeakers have access to other languages: notably Etoys.
> It isn't often mentioned that Etoys is an implementation of the Self
> computation model as a visual programming language for children.
> Interestingly, almost any Morphic class can easily become an Etoys
> object. (This won't be surprising to those who know that Morphic was
> first built for Self.)

Self went with prototypes because the authors believed that it would reduce
cognitive load on programmers. Prototypes also provide cleaner solutions in
some case for a couple of other problems, e.g. the fragile base class

Self is a really cool system. There is much less available software for it,
and the community seems to be smaller than what we have in the Smalltalk
world, but many of the concepts transfer. Self was intended to be "more
Smalltalk than Smalltalk" though I wish they'd have said "less" instead:)

I've only dabbled with Self, but Self is alive and well here:


I think this is relevant, if only because a brief study of Self gave me new
insight into Smalltalk. In the case of Squeak, they've influenced each
other; Etoys supports a prototypal style built above Smalltalk, and all
Squeak variants now use a GUI derived from Self.

Also of potential interest: here's an approach to adding prototypes to
Smalltalk that struck me as nice and conceptually clear:


> B. Blochl wrote:
> > But I think all that is a bit off topic on a Smalltalk mail list. But to
> remember: You had a special
> > Croqueford -question I tried to clarify. I think the future mails
> [s]hould focus on SmallTalk topics.
> Not really, in my opinion: this is a Squeak mailing list - not a
> Smalltalk one. Squeak has been a fertile platform for language
> experimentation. I would love to hear about other classless languages
> that have been implemented on Squeak: I think Scratch might be one.

An enthusiastic +1!

> David
> p.s. Off-topic: CLOS* is an interesting language inspired by
> Smalltalk-80, which is so flexible you might want to think of it as
> classless. I have never programmed in it, but its proponents sound
> enthusiastic about its malleability.
> * 'either one syllable rhyming with "dross", or two syllables as in
> "see-loss" ... [W]ith the exception of slot accessors - all of your
> application's functionality lives in function and method definitions,
> not in classes. It's sometimes appropriate to place methods applicable
> to some class into the same file as that class. It's sometimes
> appropriate to place all the methods of a generic function into a
> single file. There are no language constraints on this. ': Nick Levine
> http://cl-cookbook.sourceforge.net/clos-tutorial/index.html

There's a great book about CLOS and meta object protocols called "The Art of
the Metaobject Protocol" which can be purchased here:


I went ahead and requested this be made available to Kindle users for those
who enjoy instant reading gratification. It may be a challenging read for
folks unfamiliar with Lisp, but Lisp was a strong influence on Smalltalk and
is IMHO relevant to this discussion, and worth learning at some point.

> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners

This is a fun thread:)

Casey Ransberger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20110627/2cfb8bf4/attachment-0001.htm

More information about the Beginners mailing list