Squeak book

Stefan Matthias Aust sma at kiel.netsurf.de
Thu Dec 31 12:36:12 UTC 1998


>How about a tutorial on Squeak from within Squeak on online on the web?
>A piece of static media like a book seems inappropriate for a such a 
>dynamic system, doesn't it?

I think, it's not about media but about what and how to explain.  Yes, one
kind of media might be better suited as another, but my point is that the
best interactive multimedia show which is poorly written can't compete with
a good book.  Therefore, I don't see books as inappropriate.

IMHO the Smalltalk system is very difficult to learn. For one reason this
is because it's so different to all other languages, people might already
know.  But the main problem is that you must understand the full picture
before you can start.  This is a big disadvantage compared to other
languages.  Once you got it right, it's a very powerful environment but
until then, people might give up.

Python is as powerful as Smalltalk (when comparing OO abstraction,
meta-programming and so on) but it's still know as a language that is easy
to learn.  Why I tried to understand.  My explaination is that you can
start working with Python right after you've learned how the usual
condition and control flow operations are written in Python.  In Smalltalk,
by contrast, you've to understand objects, blocks (!), inheritance, the
browser, how to create an object, how to create a method, how to call a
method, that there's no main function and so on.  Smalltalk forces
object-orientation, Python just offers it.  In many cases, this is better,
for example because often people "test" new languages by coding their
favorite algorithm.  It it looks totally strange or if they fail, they'll
never consider this language again.

A good book with good explanations surely help.  Polishing the Smalltalk
environment can also help. Not only for beginners, a special browser that
shows only a core set of classes and methods would be helpful.  A console
window which allows to evaluate expressions without doIt menu but just by
pressing return would be also useful.  The browser needs wizards to create
classes and methods.  Then the debugger: Stepping by menu is a pain (we
need buttons here). Stepping over and in blocks also.  I think, Microsoft's
and Inprise's IDE's show how a debugger should look like.  Where are real
break points?

If you target Smalltalk to children, don't forget that english isn't the
native language of all children, what means, it would be good if the
enviroment had national language support (including class and method
comments!). Allowing what you'd probably call "special letters" in
selectors would also a nice thing. Removing umlauts from my alphabet is
like I'd force you to use "uu" instead of "w" :-)

One last point.  Not all people see a language and a programming enviroment
just as a playground.  Some people actually want to create applications.
Support for this is still non-existant.  A book should focus on this, for
example how to create a simple break out game so something similar, but it
can only focus on this, after support for parceling/stripping/packaging/etc
has need added to the system.


Happy New Year
bye
--
Stefan Matthias Aust  //  Are you ready to discover the twilight zone?





More information about the Squeak-dev mailing list