The latest version of Self is Self 2024.1 released August 2024. Download now!
Use the Source, Luke
All of the Self sources for the VM and for the default Self World are on Github.
Read the Self Handbook
The main set of Self documentation, covers the language and programming environment.
Read the mailing list archives
Read the archive of dicussions on Self, or subscribe
Read the Blog
Read the Self blog to keep up to date with Self releases and activity.
Read Academic Papers
Over the years, the Self project has generated many academic papers and talks.
Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness.
Self contains a user interface and programming environment designed for “serious” programming, enabling the programmer to create and modify objects entirely within the environment, and then save the object into files for distribution purposes. The metaphor used to present an object to the user is that of an outliner, allowing the user to view varying levels of detail. Also included in the environment is a graphical debugger, and tools for navigation through the system.
The first version of the Self language was designed in 1986 by David Ungar and Randall B. Smith at Xerox PARC. A series of Self implementations and a graphical programming environment were built at Stanford University by Craig Chambers, Urs Hölzle, Ole Agesen, Elgin Lee, Bay-Wei Chang, and David Ungar. The project continued at Sun Microsystems Laboratories until 1995, where it benefited from the efforts of Randall B. Smith, Mario Wolczko, John Maloney, and Lars Bak.
Davd Ungar at Stanford University, 2009
The original Self introduction from Sun Microsystems, 1995
Last updated on August 30, 2024 | Based on Foundation | Contact Russell Allen