23 lines
1.4 KiB
Plaintext
23 lines
1.4 KiB
Plaintext
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.
|
|
|
|
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. 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.
|