New Squeaker Introduction

Klaus D. Witzel klaus.witzel at cobss.com
Wed Nov 23 23:24:57 UTC 2005


Thank you Jason and also Marcus for sharing your valuable experience.

I must say that I have expected some of the aspects of the learning curve  
you described:

1] static documentation
when you want to do something with, say (awt's) Button, you just look up  
it's static interface doc. There you usually do not even see the package  
privilege'd and private methods and so you have not the faintest idea that  
Button depends heavily on Toolkit and especially on the Peer side of awt's  
implementation which, AFAIK is even not mentioned in
- http://java.sun.com/j2se/1.4.2/docs/api/index-files/index-1.html

But in Squeak you have the full source code of everything in front of your  
eyes and, more so, everything is living NOW because you are just using it  
"itself" for browsing the whole system (VM, classes, messages, methods,  
instances). I think that the latter is already information overload.

Therefore, dynamic documentation is not every beginner's friend.

2] static releases
let's stick with Java and Python here: their releases are static and you  
can only (and either) use relase x.y.z or x.y.z-2 but not both. And  
furthermore, all you get are class definitions and methods (code) and  
perhaps meta data for the methods. You never get any instance, you must  
create all instances you ever need "by hand". And even when you get  
Serialized instances they wont't run on the very next release, like for  
example Tim Budd's SmallWorld
- http://www.google.com/search?q=Tim+Budd%27s+SmallWorld

But in Smalltalk you get a hibernated system, with living instances and so  
on, and not dehydrated stuff. Even from the hibernated squeak.image file  
you can feel the pulse of the living system, so to speak. And when the  
instances where naughty before hibernation they most likely squeak at you  
or even bite when you wake them up.

Therefore, hibernated systems are not every beginner's friend.

3] static books
you can write a lot more books when you do not need to write about a  
moving target. Static documentation and static releases are the  
technophile writer's best friends
- http://www.google.com/search?q=technophile+author

Those writers have plenty of time for bringing out a book before another  
release comes out and so can make some money for their living.

But who can make a living from writing about living objects? It is even  
for experts themselves often ununderstandable what they write about when  
it comes to Smalltalk based systems
- http://tinyurl.com/cqbl3
which says "-- a pure, object-oriented language invented in the early  
1970s, when Ruby continuations proved to be a little too unstable." (get  
serious Bruce Tate, Ruby was not born before the early 1970s,  
http://www.levenez.com/lang/history.html ;)

Therefore, living objects are not every beginner's friend.

But from what you've posted here I can see that the two of you are no  
longer Smalltalk beginners: nobody who can already use a system for  
learning more about said system can be called a beginner any longer :)

/Klaus




More information about the Squeak-dev mailing list