Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Self: The power of simplicity

Published: 01 December 1987 Publication History
  • Get Citation Alerts
  • Abstract

    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.

    References

    [1]
    H. Abelson, G. J. Sussman and J. Sussman, Structure and Interpretation of Computer Programs, MIT Press, 1984.
    [2]
    A. Boming, "ThingLab--A Constraint- Oriented Simulation Laboratory," Ph.D. dissertation, Stanford University, March 1979.
    [3]
    A.H. Borning, "The Programming Language Aspects of ThingLab, A Constraint- Oriented Simulation Laboratory," ACM Transactions on Programming Languages and Systems 3,4 (October 1981), 353-387.
    [4]
    A. Boming and T. O'Shea, "DeltaTalk: An Empirically and Aesthetically Motivated Simplification of the Smalltalk-80TM Language," unpublished, 1986.
    [5]
    A. Boming, "Classes versus Prototypes in Object-Oriented Languages," Proceexlings of the ACM / IEEE Fall Joint Computer Conference, Dallas, TX, November, 1986, 36-40.
    [6]
    A. J. Goldberg and D. Robson, Smalltalk--80rM: The Language and Its Implementation, Addison-Wesley Publishing Company, Reading, MA, 1983.
    [7]
    C. Hewitt and G. Agha, "ACTORS: A Conceptual Foundation For Concurrent Object-Oriented Programming," M1T AI Lab, January 2 I, 1987. Unpublished draft.
    [8]
    W.R. LaLonde, D. A. Thomas and J. R. Pugh, "An Exemplar Based Smalltalk," OOPSLA'86 Conference Proceedings, Portland, OR, 1986, 322-330. Also published as a special issue of SIGPLAN Notices Vol. 21, No. 11, Nov. 86.
    [9]
    K. J. Lang and B. A. Pearlmutter, "Oaklisp: An Object-Oriented Scheme with First Class Types," OOPSLA'86 Conference Proceedings, Portland, OR, 1986, 30-37. Also published as a special issue of SIGPLAN Notices Notices, Vol. 21, No. 11, Nov. 86.
    [10]
    H. Lieberman, "Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems," OOPSLA'86 Conference Proceedings, Portland, OR, 1986, 214-223. Also published as a special issue of S IGPLAN Notices Notices, Vol. 21, No. 11, Nov. 86.
    [11]
    J. A. Rees, N. I. Adams and J. R. Meehan, The T Manual (Fourth Edition), Computer Science Dept., Yale University, New Haven, CT, 1984.
    [12]
    R. Rochat, "in Search of Good Smalltalk Programming Style," Technical Report No. CR-86-19, Computer Research Laboratory, Tektronix Laboratories, Beaverton, OR, 1986.
    [13]
    M. Stefik, D. Bobrow and K. Kahn, "Integrating Access--Oriented Programruing into a Multiprogramming Environment," IEEE Software Magazine 3, I (January 1986), 10-18.
    [14]
    C. Schaffert, T. Cooper, B. Bullis, M. Kilian and C. Wilpolt, "An Introduction to Trellis/Owl," OOPSLA'86 Conference Proceedings, Portland, OR, 1986, 9-16. Also published as a special issue of SIG- PLAN Notices, Vol. 21, No. 11, Nov. 86.
    [15]
    B. Sheil, "Environments for Exploratory Programming," Datamation, February, 1983.
    [16]
    R.G. Smith, "Strobe: Support for Structured Object Knowledge Representation," Proceedings of the 1983 International Joint Conference On Artificial Intelligence, 1983, 855-858.
    [17]
    R.B. Smith, "'The Alternate Reality Kit: An Animated Environment for Creating Interactive Simulations," Proceedings of 1986 IEEE Computer Society Workshop on Visual Languages, Dallas, TX, June, 1986, 99-106.
    [18]
    R. B. Smith, "Experiences with the Alternate Reality Kit: An Example of the Tension Between Literalism and Magic," To appear in ProceeAings of the CHI+GI'87 Conference, Toronto, Canada, April, 1987:
    [19]
    G.L. Steele Jr., "Lambda, the Ultimate Imperative," AI Memo 353, 1976.

    Cited By

    View all
    • (2023)Using Object-Sequence Diagrams for DebuggingProceedings of the 1st ACM International Workshop on Future Debugging Techniques10.1145/3605155.3605864(11-22)Online publication date: 17-Jul-2023
    • (2023)Clerk: Moldable Live Programming for ClojureCompanion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming10.1145/3594671.3594682(22-31)Online publication date: 13-Mar-2023
    • (2022)Formalizing ϕ-Calculus: A Purely Object-Oriented Calculus of Decorated ObjectsProceedings of the 24th ACM International Workshop on Formal Techniques for Java-like Programs10.1145/3611096.3611103(29-36)Online publication date: 7-Jun-2022
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 22, Issue 12
    Dec. 1987
    493 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/38807
    Issue’s Table of Contents
    • cover image ACM Conferences
      OOPSLA '87: Conference proceedings on Object-oriented programming systems, languages and applications
      December 1987
      493 pages
      ISBN:0897912470
      DOI:10.1145/38765
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 December 1987
    Published in SIGPLAN Volume 22, Issue 12

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)380
    • Downloads (Last 6 weeks)38
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Using Object-Sequence Diagrams for DebuggingProceedings of the 1st ACM International Workshop on Future Debugging Techniques10.1145/3605155.3605864(11-22)Online publication date: 17-Jul-2023
    • (2023)Clerk: Moldable Live Programming for ClojureCompanion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming10.1145/3594671.3594682(22-31)Online publication date: 13-Mar-2023
    • (2022)Formalizing ϕ-Calculus: A Purely Object-Oriented Calculus of Decorated ObjectsProceedings of the 24th ACM International Workshop on Formal Techniques for Java-like Programs10.1145/3611096.3611103(29-36)Online publication date: 7-Jun-2022
    • (2022)A Language Based on Two Relations between SymbolsProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3567660(95-111)Online publication date: 29-Nov-2022
    • (2020)Preserving instance state during refactorings in live environmentsFuture Generation Computer Systems10.1016/j.future.2020.04.010110(1-17)Online publication date: Sep-2020
    • (2019)A didactic object-oriented, prototype-based visual programming environmentScience of Computer Programming10.1016/j.scico.2019.02.004176(1-13)Online publication date: May-2019
    • (2019)A Multi-Paradigm Modelling approach to live modellingSoftware and Systems Modeling (SoSyM)10.1007/s10270-018-0700-718:5(2821-2842)Online publication date: 1-Oct-2019
    • (2017)The semantics of name resolution in graceACM SIGPLAN Notices10.1145/3170472.313384752:11(63-74)Online publication date: 24-Oct-2017
    • (2017)The semantics of name resolution in graceProceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages10.1145/3133841.3133847(63-74)Online publication date: 24-Oct-2017
    • (2017)Live Data Structure ProgrammingCompanion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming10.1145/3079368.3079400(1-7)Online publication date: 3-Apr-2017
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media