Are tutorials there to confuse?

Ned Konz ned at bike-nomad.com
Thu Oct 25 19:27:26 UTC 2001


On Thursday 25 October 2001 11:45 am, compufriend wrote:
> I'm desperate to make use of Smalltalk. Steps followed: downloaded Squeak,
> updated up to 3.2alpha #4441, got about 120 pages (printouts) worth of
> tutorials and then I'm keen on starting. Jason Steffler has this nice
> readalong tutorial where I tried per instructions to create a polygon from
> point so and so upto point so and so, width this and "color := Color red" .
> . .  Squeak tells me - "MessageNotUnderstood: red" .  The rest of that tut.
> helped nadda 'cause I could get no further than the first few lines of
> coding.

You were typing this in a Workspace?

Squeak is particular as to the case of words; did you make sure that Color 
was in fact capitalized?

Try this:
open a Workspace (World menu/open/Workspace).
Type into that workspace EXACTLY the following:
    color := Color red.
type Alt-D (or choose "do it" from the context menu).

You should not get any messages.

> Next Tutorial:    I'm suppose to type in -    playground := Playground new.
> charlie := playground add: Circle new. etc.    Firstly Squeak tells me that
> playground will be declared a global variable, which I suppose is fine, so
> I accept. 

Was it talking about "Playground" or "playground"? I suspect it was talking 
about "Playground", which isn't a class in the Squeak distribution.

You should have gotten a popup that said something like:

unknown variable: Playground
please correct, or cancel
---
declare Global
---
PlayingCard
...

which you will learn to take as a cue that you either misspelled something 
(and can use one of the other choices from PlayingCard on down as an 
alternative spelling), or you're referring to something that doesn't exist.

Where did you find this Squeak tutorial that used Playground?

> Then famous last words it seems: "MessageNotUnderstood: new " 

That's because after you made the variable Playground (as a global), its 
contents were nil, which is the default for new variables (since you didn't 
put anything in there).

So you were doing the same as saying:

    nil new.

which nil doesn't understand (it really doesn't understand much of anything).

> Is this some odd ploy against M$ that I have to use seeing as 100% of my
> clients uses it, or am I sooo big a nuckfut that I'm not suppose to grasp
> Squeak which any person from 3 to 180 can use do develop in? 

No, Squeak should work the same way on any platform. As far as Squeak being 
useful for kids, well, I think the reference is to the EToys system, which is 
an application built on top of Squeak Smalltalk.  Smalltalk is just like 
any other computer language, in that it has its own particular idiosyncrasies 
and preferences.

-- 
Ned Konz
currently: Stanwood, WA
email:     ned at bike-nomad.com
homepage:  http://bike-nomad.com




More information about the Squeak-dev mailing list