[Newbies] do it, print it, inspect it, explore it,
debug it missing from workspace menu
subbukk at gmail.com
Sat May 19 06:47:19 UTC 2007
On Saturday 19 May 2007 2:56 am, mstram wrote:
> This is only day 3 (hour ~20) of getting into Squeak / Seaside :) I've
> programmed with other languages / environments, but never with Smalltalk
> and am getting frustrated trying to "battle" the interface for the simplest
Squeak is really a beast for beginners because its paradigm is very different.
Missing and outdated docs and links add to the confusion. I arrived at the
following tips to get around:
1. Squeak image is like a 'software computer' - an entire computer, not just
an IDE. The 'quit' doesn't shutdown, it only suspends this computer and the
vm resumes it from where you left off next time you start it. Objects created
in this image can live on for years! This soft computer even crashes like a
real one. I always work with copies of images when experimenting with it.
2. Commands take the form "<subject> <verb> .." instead of the usual "<verb>
<subject>". Though, this sounds simple, it takes some time to switch mental
models from imperative mode to message sends.
3. Most tutorials exhort beginners to "doIt". Please don't. Use "debugIt", so
you can see trace the execution and learn a lot from it. Tracing something
even as simple as "3+4" can be very illuminating as it takes you through
compiler, string conversions, primitive calls and so on. After a few hours
browsing code, DNU pop-ups are no longer scary :-(. Morphs (like menus) can
be traced by using the debug halo item.
4. I find the "explain" menu item very handy while browsing code (e.g. Is
SoundPlayer a class or a variable?). It is buried one level deep in content
menu :-(. I also make liberal use of "implementors of" and "senders of" to
understand the larger context.
5. The "browse protocol" is another useful menu item listing all messages
(including inherited ones) for an object. Here again, the most useful
category, '--all--', comes in the end :-(.
Hope this helps .. Subbu
More information about the Beginners