The Roots of Object Orientation: The Simula Language

  • Ole-Johan Dahl


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.


Object Orientation Common Object Request Broker Architecture Garbage Collector Simulation Language Common LISp 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  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 (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, 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