Single page description of Smalltalk
Edward P Luwish
eluwish at uswest.com
Tue Mar 7 18:14:29 UTC 2000
Back in 1983, I was blown away by the first chapter in the Blue Book. Let it be
The basics can be summarized as you two have suggested - messages and blocks.
Leave out the subtleties for now. And use pictures!
Explain how an "if-then" is accomplished by sending messages to a Boolean and a
block. It may be the simplest and best example (to a traditional programmer) of
how Smalltalk is really different from the rest. All the basic syntax and
semantics comes into play in this one example.
The first-class object-ness might be a bit hard to swallow at first -
particularly that Class/Metaclass knot in the inheritance diagram. I'll let
someone else figure out that half of the page :-)
Dwight Hughes wrote:
> Alan Kay wrote:
> > Of course, one is tempted to simply write the page (Dan can do this better
> > than anyone).
> > The only syntax that counts is
> > <receiver> <message>
> > and this could be expanded a little to deal with unaries, binaries and
> > keywords. The semantics is all about "biology": sending, receiving, and
> > remembering with a little about inheritance thrown in.
> > Tempting as a challenge?
> Yes, it's very tempting. Should we try to capture the little
> idiosyncrasies in Squeak (relative to an ideal, not other Smalltalks) --
> like the constraints on how "-" and "|" can be used in a binary
> selector, and the way blocks won't actually allow no arguments and a
> single bar - [ | 2 + 3 ] is not allowed but [ | | 2 + 3 ] is -- or
> should we try for the cleanest, most general description?
> (And yes, I've already started on it.)
> -- Dwight
More information about the Squeak-dev