A couple of weeks ago, The Computer History Museum hosted a panel session on Smalltalk, which I watched via video. Alan Kay (who’s vision for the Dynabook drove Smalltalk) came in via recorded video. Dan Ingall (the technical guru) joined by live video link. Adele Goldberg (who documented and tested it), showed up live. John Markoff, well known Silicon Valley documenter, hosted. All to talk about Smalltalk. It prompted some small thoughts about Smalltalk.
I was a regular Byte magazine reader, back in the day. I had created my own major in Computer-Based Education, and was designing and programming educational computer games. I’d done academic research as part of the degree requirements, so I was aware of the work at Xerox PARC. (In fact, I flunked a job interview there because I didn’t know what ‘protocol analysis’ meant, though it turns out that’s what I’d been doing!) So, when the Byte issue in Aug 1981 on Smalltalk came out (I checked the date), I was enchanted.
Smalltalk is an object-oriented language that is dynamic, in that you can edit and immediately run it again; it’s not compiled. It was also reflective, in that make itself visible and operate on itself, like Lisp. In Smalltalk, you model your world in objects and they communicate by messages. It has windows, icons, and interactions comes from the mouse as much or more than by the keyboard. You can edit the objects while running and they change. While it wasn’t available to me, I was a fan of the concept. (Machines running Smalltalk were what Steve Jobs saw on his PARC visit that led to the Lisa and then the Macintosh.)
It’s ironic that between then and when I ended up teaching in a school of computer science, I somehow lost that focus. I’d gone to grad school to get a grounding in cognitive science in just such a place. After a post-doc looking at learner models, I ended up teaching interface design (and researching educational technology). Along the way I got involved in other issues, though I did get involved in HyperCard, which in many ways was Smalltalk Lite(tm ;).
In the talk, besides the enlightenment of the thinking behind it, there was also the practical aspects. While relatively lean, the language did take up memory and as a dynamic machine wasn’t blindingly fast. There apparently were also decisions about pricing and markets that were classic Xerox. Thus, while it was and is a fabulous modeling environment (still in use in a variety of markets), it didn’t take over the world. When Steve Jobs built the NeXT computer, he took on the object-oriented model of Smalltalk, but used C as the core language for a variety of pragmatic reasons.
In the session, they talked about the vision of Seymour Papert and Logo, and how they wanted more. Alan Kay walked around with a cardboard model of what a Dynabook would look like, and people begged to buy one. Doug Englebart’s work also was an inspiration. It was a glorious flashback to the days when we dreamt bigger than our tech would support. These days, it seems, we’ve reversed that. I’ve heard that computing isn’t living up to the potential we have for digital technology to be an optimal augment for cognition, and I agree. We can do better, and should. So these are some small thoughts about Smalltalk. And get off my lawn!