Skip to Content Java Solaris Communities Partners My Sun Sun Store United States Worldwide

»  Spotlight Articles
»  Projects
»  Publications
»  People
»  Awards
»  Events
»  Downloads
»  Internships
»  Contrarian Minds
»  About Sun Labs

What is SELF?

  • Pure object-oriented programming language

  • Similiar to Smalltalk: syntax, typless, blocks, incremental, exploratory environment

  • Different: simpler, more concrete

  • No classes; prototypes and object-level inheritance instead

What is SELF? Why was it created? Where does it come from?

Self is an object-oriented programming language and associated programming environment. It is close in spirit and semantics to Smalltalk:
  • It is a pure object-oriented language, i.e., everything in the computational domain of Self is an object.
  • Its syntax borrows heavily from Smalltalk.
  • As in Smalltalk, variables are of unrestricted type.
  • It uses blocks - objects which behave like procedures - to implement control structures.
  • Programs are constructed incrementally within the programming environment. An exploratory style is encouraged.
However, it differs from Smalltalk in several important respects. The principal force guiding the design of Self was the desire for simplicity and concreteness. This force is manifested thus:

  • Self is considerably simpler than Smalltalk in syntax and semantics. More of the basic facilities in the Self system are implemented in Self, itself.

  • Self has no classes. Instead a more direct object-based inheritance mechanism is provided. The programming environment facilitates direct manipulation, in which the programmer communicates with objects directly (or appears to), rather than applying "tools" to effect changes.

  • [ Previous ] [ Index ] [ Next ]
    Would you recommend this Sun site to a friend or colleague?
    Contact About Sun News Employment Privacy Terms of Use Trademarks Copyright 1994-2008 Sun Microsystems, Inc.