Self Papers 4.5.0 documentation

Self: The Power of Simplicity

«  Programming as an Experience: The Inspiration for Self   ::   Contents   ::   Parents are Shared Parts: Inheritance and Encapsulation in Self  »

Self: The Power of Simplicity

David Ungar and Randall B. Smith

Abstract:

Self is an object-oriented language for exploratory programming based on a small number of simple and concrete ideas: prototypes, slots, and behavior. Prototypes combine inheritance and instantiation to provide a framework that is simpler and more flexible than most object-oriented languages. Slots unite variables and procedures into a single construct. This permits the inheritance hierarchy to take over the function of lexical scoping in conventional languages. Finally, because Self does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures. Self’s simplicity and expressiveness offer new insights into object-oriented computation.

OOPSLA ‘87 Conference Proceedings, pp. 227-241, Orlando, FL, October, 1987

Published as SIGPLAN Notices 22(12), December, 1987. Also published in Lisp and Symbolic Computation 4(3), Kluwer Academic Publishers, June, 1991.

PDF

«  Programming as an Experience: The Inspiration for Self   ::   Contents   ::   Parents are Shared Parts: Inheritance and Encapsulation in Self  »