View this PageEdit this Page (locked)Uploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

Self wiki

Uploaded Image:self.gif

The Power of Simplicity

See a short introduction to Self


  • The most recent home page for the Self project
  • The home page for the Self project at Sun
  • The current Self mailing list
  • The browsable archives from the previous Self mailing list (1990 to 1997) are available (also sorted by date).
  • Please contribute to the FAQ
  • The Self page at the Cetus site has more resources
  • A Doxygen generated documentation for the C++ sources of the Self 4.1.2 virtual machine is available to help people study the code (which is downloadable from the links below)


System Notes
Self 4.2 for Sparc works with true color modes, new user interface elements
Self 4.2 for PowerMac runs under Max OS X only (Jaguar), has both Carbon and X Window ui code, works with true color modes, new user interface elements, now has Polymorphic Inline Caches (PICs) and the optimizing compiler (SIC). See for instructions on how to make the Droplet work
Self 4.1.6 for Linux PC alpha release, needs GLIBC_2.2, no SIC compiler
Self 4.1.6 for Windows alpha release, needs cygwin and XFree86, no SIC compiler
Self 4.0 for Sparc there is a SunOS and a Solaris version
Marvin Self in Squeak Smalltalk
JSelf Self in Java, unfinished
dSelf a distributed Self in Java, papers (most in German)
OpenSelf a simple Self implementation in C for Unix, pages and mailing list seem to have vanished
tinySelf 1 a parallel Self written in Self, too buggy to run real programs
tinySelf 0 a simple Self implementation in C for Unix, unfinished: nothing more than a parser

Self: The Movie;

Randy Smith from Sun Microsystems has graciously given permission for downloadable versions of "Self: The Movie;". Please note that the copyright (1995) belongs to Sun and do not redistribute portions of this material in a way that doesn't make this copyright perfectly clear.

The Quicktime versions are suitable for Macs and Windows but use an audio codec that doesn't work in the Linux applications I have tried. They were digitized by Steve Dekorte. Thanks, Steve!

The DivX versions can be seen with several different applications on Macs, Windows and Linux if you have the DivX decoder installed. They were digitized by Jecel Assumpção.

Movie Files

Quicktime Large (81MB) very similar to the original VHS tape in quality
Small (30MB) all screen captures are very fuzzy, but almost readable
DivX Large (198MB) very similar to the original VHS tape in quality (coming soon)
Small (23MB) screen captures are totally unreadable and even the live scenes are fuzzy. Only good for a preview in order to decide if it is worth downloading the better version


00:00 Title
00:16 Randy's introduction: directness, liveness, no run/debug separation
02:00 demonstration of basic Self ideas
02:15 - objects and slots
02:54 - methods
03:40 - parent objects: inheritance
04:33 - flexibility of object inheritance (vs class inheritance)
06:08 Morphic demonstration
07:48 how to change a running program (bouncing atoms)
10:53 make it look like a "real" application
15:06 web browser in Self
15:37 Mario's Smalltalk in Self (also shown is collaboration via Self)
16:46 Dave talks to Randy about the implementation
19:30 Randy's conclusions
20:45 Credits


  • Guru is a tool for Self improvement (code refactoring)
  • EcoDesign is a tool for sustainable Architecture
  • Merlintec Computers used to make Self based processors and computers (currently uses Squeak Smalltalk)

Self-like languages

Most of the older prototype based languages we inspired by Self, including NewtonScript which was probably the most widely used of them all. A very interesting one that has been "missing in action" for many years is Kevo, but its files have been posted to the self-interest list (Mac only).

Some Self-like languages still being developed are:
  • Io by Steve Dekorte
  • Cel (broken link!) by Dru Nelson
  • Slate by Brian Rice
  • Lua is sort of Self-like and was created by the TecGraf at the Catholic University of Rio de Janeiro (PUC-Rio)