I can’t remember exactly when I discovered Squeak but it was probably the late 90s. Even in it’s earliest releases, it was awesome. In case you haven’t heard of Squeak, it is a modern implementation of Smalltalk, based on Smalltalk 80. It was written by Dan Ingalls, Alan Kay, Ted Kaehler, and Scott Wallace at Apple in the 90s to explore Alan Kay’s idea of the Dynabook.
Smalltalk is the epitome of object oriented systems. It is, in fact, one of the most copied languages around. For example, the NextStep library was based to a large extent on the Smalltalk library. Objective C draws many of its OO concepts directly from Smalltalk. To someone like me, who has been doing OO programming for something like 20 years, Squeak is like coming home.
I’ll have to admit, Smalltalk is hard to get your mind around. I have been playing with Squeak off and on for years. Mostly, I’ve marveled at the rich applications that came bundled with the package. Each new distribution brought more nifty graphical applications that, more than just being examples of how to write applications in Squeak, were incredibly useful in their own right.
The thing that has changed recently for me is that I discovered the online book Squeak By Example. This has broken down all of the last mental barriers that were hindered me in developing Squeak applications on my own. It is an excellent tutorial for anyone with any knowledge of programming at all. I wonder if it isn’t a great book for people that have no knowledge of programming at all. But that’s a topic for another time.
Squeak has rekindled the utter joy of programming in me. I highly recommend that you download it and Squeak By Example, or SBE as it refers to itself, and have fun. Set aside a good chunk of time. You won’t want to put this one down.