The Roots of Object Orientation: The Simula Language

  • Ole-Johan Dahl

Abstract

The development of the programming languages Simula I and Simula 67 is briefly described. An attempt is made also to explain the cultural impact of the languages, in particular the object-oriented aspects.

Keywords

Europe Uranium Nism Prefix Exter 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    C. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide. Addison-Wesley, 1998.Google Scholar
  2. [2]
    H. Cannon: Flavors, A Non-hierarchical Approach to Object-Oriented Programming. Draft 1982.Google Scholar
  3. [3]
    O.-J. Dahl: The Simula Storage Allocation Scheme. Norwegian Computing Center Doc. 162, 1963.Google Scholar
  4. [4]
    O.-J. Dahl,3 K. Nygaard: SIMULA - A language for programming and description of discrete event systems. Introduction and user’s manual. Norwegian Computing Center Pubi. no. 11, 1965Google Scholar
  5. [5]
    O.-J. Dahl, K. Nygaard: SIMULA - an ALCOL-based simulation language. CACM 9(9), 671–678, 1966.MATHGoogle Scholar
  6. [6]
    O.-J. Dahl: Discrete event simulation languages. In F. Genuys, ed.: Programming Languages. Academic Press, pp 349–394, 1968.Google Scholar
  7. [7]
    O.-J. Dahl, K. Nygaard: Class and subclass declarations. In J. Buxton, ed.: Simulation Programming Languages. Proceedings from the IFIP Working Conference in Oslo, May 1967. North Holland, 1968.Google Scholar
  8. [8]
    O.-J. Dahl, B. Myhrhaug, K. Nygaard: SIMULA 67 Common Base Language. Norwegian Computing Center, 1968.Google Scholar
  9. [9]
    O.-J. Dahl, C.A.R. Hoare: Hierarchical program structures. In O.-J. Dahl, E.W. Dijkstra, C.A.R. Hoare, eds.: Structured Programming. Academic Press, pp. 175–220,1972.Google Scholar
  10. [10]
    O.-J. Dahl: Can program proving be made practical? In M. Amirchahy, D. Neel, eds.: Les Fondements de la Programmation. IRIA, pp. 57–114,1977.Google Scholar
  11. [11]
    O.-J. Dahl: Time sequences as a tool for describing process behaviour. In D. Bjorner, ed.: Abstract Software Specifications, Lecture Notes in Computer Science 86, Springer, pp. 273–290, 1980.Google Scholar
  12. [12]
    O.-J. Dahl:, 0. Owe: Formal development with ABEL. In VDM91, Lecture Notes in Computer Science 552, Springer, pp. 320–363.Google Scholar
  13. [13]
    O.-J. Dahl: Verifiable Programming. Hoare Series, Prentice Hall, 1992.MATHGoogle Scholar
  14. [14]
    O.-J. Dahl: A note on monitor versions. In Proceedings of Symposium in the Honour of C.A.R. Hoare at his resignation from the University of Oxford. Oxford University, 1999. Also available at www.ifi.uio.no/olejohan (Institute of Informatics, Oslo University).Google Scholar
  15. [15]
    A. Goldberg, D. Robson: Smalltalk-80: The Language and Its Implementation. Addison Wesley, 1984.MATHGoogle Scholar
  16. [16]
    B.S. Greenberg: The Multics MACLISP Compiler. The Basic Hackery - A Tutorial. MIT Press, 1977, 1988, 1996.Google Scholar
  17. [17]
    C.A.R. Hoare: Record Handling. In ALGOL Bulletin no. 21, 1965.Google Scholar
  18. [18]
    C.A.R. Hoare: Further Thoughts on Record Handling. In ALGOL Bulletin no 23, 1966.Google Scholar
  19. [19]
    C.A.R. Hoare: Record handling. In F. Genuys, ed.: Programming Languages. Academic Press, pp 291–346, 1968.Google Scholar
  20. [20]
    C.A.R. Hoare: Proof of the correctness of data representations. Acta Inf. 1,271–281,1972.MATHCrossRefGoogle Scholar
  21. [21]
    C.A.R. Hoare: Monitors: an operating system structuring concept. Comm. ACM 17(10), pp. 549–557, 1974.MATHCrossRefGoogle Scholar
  22. [22]
    J. Gosling, Bill Joy, G. Steele: The Java Language Specification. Java(tm) Series, Addison-Wesley, 1989.Google Scholar
  23. [23]
    J. Gosling, B. Joy, G. Steele: The Java Language Specification. Java(tm) Series, Addisson-Wesley, 1996MATHGoogle Scholar
  24. [24]
    P. Handlykken, K. Nygaard: The DELTA system description language: motivation, main concepts and experience from use. In H. Hünke, ed.: Software Engineering Environments. GMD, North-Holland, 1981.Google Scholar
  25. [25]
    S.E. Keene: Object-Oriented Programming in COMMON LISP-A Programmer’s Guide to CLOS. Addison-Wesley, 1989.MATHGoogle Scholar
  26. [26]
    B.B. Kristensen, O.L. Madsen, B. Moller-Pedersen, K. Nygaard: Abstraction mechanisms in the BETA programming language. In Proceedings of the Tenth ACM Symposium on Principles of Programming Languages, Austin, Texas, 1983.Google Scholar
  27. [27]
    O.L. Madsen, B. Møller-Pedersen, K. Nygaard: Object-Oriented Programming in the BETA Programming Language. Addison-Wesley/ACM Press, 1993.Google Scholar
  28. [28]
    R.C. Martin: Design Principles and Design Patterns. Microsoft, www.objectmentor.com.Google Scholar
  29. [29]
    B. Meyer: Eiffel: The Language. Prentice Hall, 1992.MATHGoogle Scholar
  30. [30]
    B. Liskov, A. Snyder, R. Atkinson, C. Schaffert: Abstraction mechanisms in CLU. Comm. ACM 20(8), 564–576, 1977.MATHCrossRefGoogle Scholar
  31. [31]
    K. Nygaard, O.-J. Dahl: SIMULA session. In R. Wexelblatt, ed.: History of Programming Languages. ACM, 1981.Google Scholar
  32. [32]
    O. Owe, O.-J. Dahl: Generator induction in order sorted algebras. Formal aspects Comput., 3:2–20, 1991.CrossRefGoogle Scholar
  33. [33]
    K. Nygaard: GOODS to appear on the stage. In Proceedings of the 11th European Conference on Object-Oriented Programming. Springer, 1997Google Scholar
  34. [34]
    B. Stroustrup: The C++ Programming Language. Addison-Wesley, 1986.MATHGoogle Scholar
  35. [35]
    D. Ungar, R.B. Smith: SELF: the power of simplicity. In SIGPLAN Notices 22(12), 1987.Google Scholar
  36. [36]
    A. Wang, O.-J. Dahl: Coroutine sequencing in a block structured environment. In BIT 11, 425–449, 1971.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Ole-Johan Dahl
    • 1
  1. 1.University of OsloNorway

Personalised recommendations