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
It is close in spirit and semantics to Smalltalk:
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:
- 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.
Self is considerably simpler than Smalltalk in syntax and semantics.
More of the basic facilities in the Self system are implemented in
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.