How does a newbie get past the feeling thay he is trying to understand an elephant whilst looking through a keyhole?

Ralph Johnson johnson at cs.uiuc.edu
Sun Apr 30 20:11:05 UTC 2006


Most Smalltalk classes build on a lot of other Smalltalk classes. So, they
are hard to understand until you know the classes that they use.

In fact, you can't print out Object and completely understand it, because it
has methods like "inspect" that call a lot of other classes.  It is possible
to build the image up from a small base, but it is not done one class at a
time.  Each layer is partly new classes and partly adding methods to
existing classes.  This is a good thing, not a bad thing, but it makes it
harder to learn Smalltalk.

When an expert teaches Smalltalk, it is like getting a guided tour of a
city.  We show just the part of Smalltalk that a beginner is able to
understand, and avoid the parts that are confusing until they have the
background.  You don't get that by looking at the image.  For example, I
tell people to ignore the GUI, the compiler, and all the tools at first.
Just focus on Collection classes and numbers.  We spend several weeks with
just the core classes before we move on to other things.  The GUI is way
more cool, but I think students learn better if you ignore it at first.

Unfortunately, one of the disadvantages of Smalltalk over Java is that it is
harder to learn on your own.  It is not hard to learn with a guide, but
newcomers don't know what to look at and what to ignore.  It would help to
have a beginners browser that hid most of the classes that beginners want to
ignore anyway.

-Ralph Johnson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20060430/fe5fef64/attachment.htm


More information about the Squeak-dev mailing list