I like playing with Squeak every once in awhile and doing a little bit more exploration of what you can do with it. But each time it’s been just light bites. I spend more time reading up on Squeak and tracking down the piles of URLs and papers on the Squeak Mailing List than actually doing any programming.
So I have a pile of passive knowledge on Squeak but very little actual active knowledge in working with Squeak. So I try to fix this a little bit at a time. However I started working through the Programming Morphic Tutorial available on SqueakMap and I ended up struggling on one of the exercises for hours because of lack of practical knowledge in interacting with a SmallTalk/Squeak system.
The example shown was easy. There’s a drawing method that can be overridden to draw specialized displays for objects in Squeak’s Morphic system. The example was showing how to draw a circle in the middle of the Morph. The exercise was to make a square morph look like a cross. “Gee that’s easy” I thought then I started playing around with different methods. However, when it came to figuring out what was available I ended up looking through as much of the system as possible for the right methods and classes to deal with it. However, once I found somethign that was named right I had no friggin’ clue how to actually USE them. Some examples in the Class comments would have been really nice. Or perhaps a Squeak in a Nutshell and Squeak with Examples book nearby.
I’m sure to an experienced SmallTalker they’d solve the problem in a matter of seconds and ask “What’s the problem?”. Too bad I’ve A) Never met an experienced SmallTalker and had the pleasure of Pair Programming with them to understand how they interacted with SmallTalk B) Quick accessible documentation or a clue on how to mine the existing documentation quickly. I gave it my best shot however after hours of exploring other parts of the system and finding lots of neat things I realized I was finding lots of other neat parts of Squeak but never actually getting the exercise done.
I don’t mean to be too annoyed about this. Squeak is an awesome system and the documentation issue is known. It’s just that it seems newcomers must go through this process of floundering around for hours until they finally grok things. (Or they’re lucky and have been taught SmallTalk in a course or by some experts). And it’s always frustrating to spend hours looking for something you know people will say is ‘easy’ but darned if I can find it on my own. (I also know that I’m not the first one to complain about lack of documentation but I guess sometimes you just have to vent).