| « July 2009 | ||||||
| S | M | T | W | T | F | S |
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |
This video was made in 1995. It’s a video produced by a software research lab, and that shows in the production values. But you can see in the video the genesis of a lot of today’s software technology. The Squeak user interface system is borrowed from Self. (But we all work in web applications, you say? Avi Bryant is trying out the same ideas in that context.) Self is the original Naked Objects system. The prototype-based OO system that’s at the root of JavaScript (and was central to NewtonScript) originated in Self. Ruby singleton classes were influenced by prototypes. And the implementation technology is equally impressive. Remember that the demo you see is written entirely in Self, and is running on Sun computers from 1995. The techniques pioneered in Self became the basis for Sun’s HotSpot Java VM—one of the names in the credits is Lars Bak, who went on to become HotSpot’s architect.
The Self project at Sun is, unfortunately, long dormant. The web page is still there, and if you’ve got a Mac and are still running Jaguar you can run it. There are still a few problems on Panther, unfortunately. (For that matter, if you have a Sparc machine running Solaris you can also try it out.)
But whether it’s directly useful today or not, it’s still fascinating history, and it’s sobering that although Self has influenced other technologies, those more successful systems are in many ways pale shadows of the original. It’s yet another vivid demonstration that much of the future of computing can be found in the past.