Programming as an Experience: The Inspiration for Self
Randall B. Smith
The Self system attempts to integrate intellectual and non-intellectual
aspects of programming to create an overall experience. The language semantics,
user interface, and implementation each help create this integrated experience.
The language semantics embed the programmer in a uniform world of simple ob
jects that can be modified without appealing to definitions of abstractions. In a
similar way, the graphical interface puts the user into a uniform world of tangible
objects that can be directly manipulated and changed without switching modes.
The implementation strives to support the world-of-objects illusion by minimiz
ing perceptible pauses and by providing true source-level semantics without sac
rificing performance. As a side benefit, it encourages factoring. Although we see
areas that fall short of the vision, on the whole, the language, interface, and im
plementation conspire so that the Self programmer lives and acts in a consistent
and malleable world of objects.
ECOOP '95 Conference Proceedings, Aarhus, Denmark, August, 1995.
To get the PostScript file, click
Back to bibliography