Future systems

Post-Smalltalk systems

A surprising find, in the comments section of a Youtube video, Alan Kay clarifying, in response to “he doesn’t advocate using Smalltalk today, but didn’t say what he would recommend

Smalltalk was “the subset we could fit on the Xerox Parc computers” of ideas about designing and making systems, partly catalyzed by Sketchpad, Simula, a few of the late 60s operating systems, Lisp, and the ARPAnet.

There were many things we thought would be good to do that we didn’t do. Many of these could be done today after 50 more years of Moore’s Law.

The Smalltalk system is an extensible system made from a few simple fundamental ideas about form and transaction plus a library of definitions at every level (we got this deep idea from Lisp, especially Lisp 1.85 at BBN).

This means that a lot could be accomplished just by completely redesigning and rewriting the library without having to do a lot with the kernel.

The form part could be improved a little, but it can handle much of the 50 years later.

The kernel part could be much improved by doing some of the things we chose not to tackle. For example, the kind of “OOP” we thought was OOP back then was basically a module scheme made from dynamic virtual machines/servers as though on a network with messages as requests rather than as commands.

What we did was enough to be able to pretend that we had the real thing and be able to get away with the pretensions. For example, [the] way we used Lisp pointers and sharing is anti-module, and makes it difficult for the interior of an object to really be encapsulated, etc. This could be pretty easily redesigned and fixed, to make really good modules with much more controlled dependencies on the exterior environment.

We knew that we didn’t really want to send messages to objects — this doesn’t scale well — we really wanted to just receive. And we especially liked Gerlernter’s LINDA scheme as a gesture to a style to do publish and subscribe in a really nice way.

But because Smalltalk was extremely powerful and expressive in its day, and the Parc computers were very small, we were able to do pretty much everything from bottom to top in about 10,000 lines of code, and what was not complete in Smalltalk did not get in the way, whereas what was good about Smalltalk made it possible to quickly turn careful designs into real-time working systems.

And there are many more avenues — for example for development — that should be in any system done today.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s