How about Smalltalk-2000?

agree at carltonfields.com agree at carltonfields.com
Wed Feb 16 21:21:25 UTC 2000


My experience was quite like that of Mr. Jarvis.  I met Smalltalk in graduate school, bought the books, could make no sense of it, "just didn't get it," and set it aside.  My colleague, Ralph Johnson, obviously got it, but kept it a deep secret at the time.

In the early 80's, as a seed Macintosh developer, developing GUI software in imperative code, I began to see the light, but MacApp simply didn't do it for me.  I still "just didn't get it."  I did, however pick up those old books again, made no sense of it, and set them aside.

Then, as OO became more the rage, C++ appeared on the scene, I got some compilers, messed around a bit, but didn't see how its features were much better than, say, coding in C with sound encapsulation methodologies.  I was happy hacking away in machine language doing video games and games for personal computers, but I missed the point entirely.

Still, every time I moved, I'd find those old books again, skim through them, made no sense of it, and set them aside.

Now an old fart lawyer, I pretend I still have some hacker beans left in me by going to things like the Hackers/Think Conference and keeping in touch with my old buddies.  It helped recharge my mind, from time to time, and then:

	Ted showed me Squeak!

I took it home, messed with it, and as you can see from my earlier work, didn't get it.  Opened the books, and as you can see from my later work, got a bit more.  Read my old graduate schoolmate Johnson's book, and then everything else I could find on OO, patterns refactoring and everything else.  And, man, I wish I had known then what I know now.

The purity of Smalltalk is something special.  You have to see it fresh, as I did, perhaps from a distance.  As with the others, I don't have a problem with changing hairs from place to place.  But don't lose the "innocence" and orthogonality of the language concepts in favor of syntactic sugar.  I liked Ralph's suggestion (and the suggestions of others before him) of a macro overlay on the "basic" language, retaining the semantics, while providing a foundation for a mechanism of "improving" things or experimenting with those improvements.

But don't forget, Smalltalk really *is* something special.  It *isn't* java, python C or C++.  And it probably shouldn't be.  If you don't see that yet, particularly if you are new to Smalltalk and coming at it from one of those other worlds, please consider if you, like I, aren't yet "getting it."

Now many of the suggestions are coming from those who have forgotten more ST than I have yet learned, and to them I defer.  I just thought that my story might add some perspective for the benefit of some of the newbies.





More information about the Squeak-dev mailing list