Single page description of Smalltalk

David N. Smith (IBM) dnsmith at
Tue Mar 7 20:51:55 UTC 2000

At 11:14 -0700 3/7/00, Edward P Luwish wrote:
>Back in 1983, I was blown away by the first chapter in the Blue Book.  Let it be
>your muse.
>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 :-)

There are some other twists that are neat too. (Dan did good when he designed this!)

I am of the school that believes that all knowledge of how classes are implemented should be carefully hidden from newbies; otherwise it scares them. There is no need to know that stuff to be a fully effective Smalltalk programmer any more than knowledge of compiling techniques is needed to program C.

It's hard to argue with the Blue Book, especially since it is how I got into Smalltalk way back when, but I've always thought it introduced Metaclasses too early.

Anyhow, I wonder if it is appropriate for a one page overview for the curious outsider or beginner.

BTW, it was that example of #ifTrue:ifFalse: that really caught my attention too.

David N. Smith
IBM T J Watson Research Center
Hawthorne, NY
Any opinions or recommendations
herein are those of the author  
and not of his employer.

More information about the Squeak-dev mailing list