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.
|