Learning Squeak (was: Porting Squeak)
Noel J. Bergman
noel at devtech.com
Mon Jan 14 00:30:22 UTC 2002
It is unfortunate that a comment about the lack of something that would
encourage more programmers use Squeak is somehow perceived as an attack. As
for my observation about the lack of really good tutorials geared to take
people from newbie to master, I base that upon the current lack of such
things. And yes, I check the swiki. Including today.
> [...] except for first impressions.
First impressions count. For a lot, in fact, if you don't get to make a
The Squeak environment is radically different from every other IDE that a
programmer is likely to encounter. Everything about working with Squeak is
different, from how to author code, to how to "load" someone else's code, to
how to "save" your code, to how to debug a method, etc. It is like nothing
that a prospective Squeaker has ever seen before. So if you don't show him
not only how the environment works, but also show him how it corresponds
with what he's familiar with, you've lost your shot.
And you don't just show something once when you are teach. You introduce
it, you present it, you reinforce it with examples, you summarize, you
provide the student with suitable problems to solve, and you provide
detailed solutions to those problems.
> have you looked at Guzdial's text book?
Yes, of course -- if you mean the one I think you do. Looked at, and read
(the online version ... if the hardcopy is substantially different, I
wouldn't know). Nice book. Topical. But more of a reference than an
introductory book. Better if you already know Squeak than to serve the
tutorial/teaching function. Noel Rappin's section comes closest, as is its
intent. John Maloney's Morphic tutorial is also nice, but it doesn't build
well upon the previous chapter. After that ...
Consider, for example, the chapter of the book that you helped contribute.
Can you honestly tell me that an average Squeak newbie can go off and write
new networking applications based upon that chapter? There isn't a single
real code usage example in the entire chapter, much less a comprehensive
teaching of the subject. It is a high level and historical overview of the
There is a lot of disjoint content of varying quality all over the Squeak
community. That is not, however, the same thing as a coherent,
well-structured, tutorial that starts from the beginning, follows a
well-known paradigm such as the "introduce, present, summarize" cycle, and
builds upon each cycle as it moves towards mastery while reinforcing
previous topics throughout.
More information about the Squeak-dev