Musing about Smalltalk
Kevin Fisher
kgf at golden.net
Wed Sep 13 02:21:25 UTC 2000
[ beware! ahead lies coffee-induced speculation and musing! ]
I've been polishing off my enhancements to Celeste the past couple weeks (I
added a tabbed preferences dialog to replace the ever-growing categories menu,
for example) and I've been noticing something rather interesting about the
whole process.
Morphic is all rather new to me so I've been winging it as I go. The nice
thing about Smalltalk is that I don't have to flip through any reference
books--I can just open a browser and jump directly into any class in the
system to see how things are done. I learned Smalltalk from the 'purple' book
(Goldberg et al). I really just picked up the basics from the book...and I
really don't need to flip back to it, at all, even for reference. Even after
long absences from Smalltalk (ie over a year) I've still been able to jump
right back in.
This got me thinking..to me it seems that the whole learning process with
Smalltalk is quite different from any other language I've used. You seem to
learn progressively...since every class is open for inspection you CAN grow
your knowledge and apply it simultaneously, instead of the traditional
learn-in-chunks-and-then-apply way. It just FEELS different...as I started
out with Morphic I knew nothing, and yet without any textbooks or detailed
HOWTO's I managed to figure it all out by browsing the system and trying
things in a workspace, and in a very short time. Outstanding! Just try
learning C or C++ from the headers in /usr/include and see how far you can
get... :) More realistically, even with a well documented online system (like
MS Visual Studio) it is still very difficult to get up to speed on something
like MFC without a detailed book or reference. Not so with Smalltalk, from
what I've experienced thus far.
I dunno, maybe the coffee is getting to my brain tonight, but I just find the
whole thought process that Smalltalk inspires to be quite remarkable. It's
got me thinking in a whole new way.
More information about the Squeak-dev
mailing list
|