Single page description of Smalltalk
David N. Smith (IBM)
dnsmith at watson.ibm.com
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
>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
Any opinions or recommendations
herein are those of the author
and not of his employer.
More information about the Squeak-dev