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
|