SELF: The power of simplicity

Self is a new 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.

[1]  Gerald Jay Sussman,et al.  Lambda: The Ultimate Imperative , 1976 .

[2]  Alan Borning,et al.  ThingLab: a constraint-oriented simulation laboratory , 1979 .

[3]  Alan Borning,et al.  The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory , 1981, TOPL.

[4]  Reid G. Smith STROBE: Support for Structured Object Knowledge Representation , 1983, IJCAI.

[5]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[6]  Randall B.Smith Experiences with the alternate reality kit and example of the tension between literalism and magic , 1985 .

[7]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[8]  Craig Schaffert,et al.  An introduction to Trellis/Owl , 1986, OOPLSA '86.

[9]  Alan Borning,et al.  Classes versus Prototypes in Object-Oriented Languages , 1986, FJCC.

[10]  B. Sheil Power tools for programmers , 1986 .

[11]  Wilf R. LaLonde,et al.  An exemplar based Smalltalk , 1986, OOPLSA '86.

[12]  Henry Lieberman,et al.  Using prototypical objects to implement shared behavior in object-oriented systems , 1986, OOPLSA '86.

[13]  Barak A. Pearlmutter,et al.  Oaklisp: an object-oriented scheme with first class types , 1986, OOPLSA '86.

[14]  M.N. Sastry,et al.  Structure and interpretation of computer programs , 1986, Proceedings of the IEEE.

[15]  Randall B. Smith Experiences with the Alternate Reality Kit: An Example of the Tension between Literalism and Magic , 1987, IEEE Computer Graphics and Applications.

[16]  Randall B. Smith,et al.  Self: The power of simplicity , 1987, OOPSLA 1987.

[17]  Carl Hewitt,et al.  Actors: A Conceptual Foundation for Concurrent Object-Oriented Programming , 1987, Research Directions in Object-Oriented Programming.

[18]  Alan Borning,et al.  Deltatalk: An Empirically and Aesthetically Motivated Simplification of the Smalltalk-80 Language , 1987, ECOOP.