Read Self News at our Blog! 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 includes a
programming language, a collection of objects defined in the
Self language, and a programming environment built in Self for
writing Self programs. The language and environment attempt to
present objects to the programmer and user in as direct and
physical a way as possible. The system uses the prototype-based
style of object construction. 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, where it benefited from the efforts
of Randall B. Smith, Mario Wolczko, John Maloney, an