Skip to main content

The Birth of Object Orientation: the Simula Languages

  • Chapter
From Object-Orientation to Formal Methods

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2635))

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.

An almost identical version of this paper has been published in Software pioneers, Springer, 2002.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1998)

    Google Scholar 

  2. Cannon, H.: Flavors, A Non-Hierarchical Approach to Object-Oriented Programming (Draft 1982)

    Google Scholar 

  3. Dahl, O.-J.: The Simula Storage Allocation Scheme. NCC Doc. 162 (1963)

    Google Scholar 

  4. Dahl, O.-J., Nygaard, K.: SIMULA – A language for programming and description of discrete event systems. Introduction and user’s manual. NCC Publ. no. 11 (1965)

    Google Scholar 

  5. Dahl, O.-J., Nygaard, K.: SIMULA – an ALGOL-based Simulation Language. CACM 9(9), 671–678 (1966)

    MATH  Google Scholar 

  6. Dahl, O.-J.: Discrete Event Simulation Languages. In: Genuys, F. (ed.) Programming Languages, pp. 349–394. Academic Press, London (1968)

    Google Scholar 

  7. Dahl, O.-J., Nygaard, K.: Class and Subclass Declarations. In: Buxton, J. (ed.) Simulation Programming Languages. Proceedings from the IFIP Working Conference in Oslo. North Holland, Amsterdam (1968)

    Google Scholar 

  8. Dahl, O.-J., Myhrhaug, B., Nygaard, K.: SIMULA 67 Common Base Language. Norwegian Computing Center (1968)

    Google Scholar 

  9. Dahl, O.-J., Hoare, C.A.R.: Hierarchical Program Structures. In: Dahl, O.-J., Dijkstra, E.W., Hoare, C.A.R. (eds.) Structured Programming, pp. 175–220. Academic Press, London (1972)

    Google Scholar 

  10. Dahl, O.-J.: Can Program Proving be Made Practical? In: Amirchahy, M., Neel, D. (eds.) Les Fondements de la Programmation. IRIA 1977, pp. 57–114 (1977)

    Google Scholar 

  11. Dahl, O.-J.: Time Sequences as a Tool for Describing Process Behaviour. In: Bjorner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86, pp. 273–290. Springer, Heidelberg (1980)

    Google Scholar 

  12. Dahl, O.-J., Owe, O.: Formal Development with ABEL. In: Prehn, S., Toetenel, H. (eds.) VDM 1991. LNCS, vol. 552, pp. 320–363. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  13. Dahl, O.-J.: Verifiable Programming. Hoare Series. Prentice Hall, Englewood Cliffs (1992)

    MATH  Google Scholar 

  14. Dahl, O.-J.: 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, Oxford (1999), Also available at www.ifi.uio.no/~olejohan (Department of Informatics, University of Oslo)

    Google Scholar 

  15. Goldberg, A., Robson, D.: Smalltalk-80: The Language and its Implementation. Addison Wesley, Reading (1984)

    MATH  Google Scholar 

  16. Greenberg, B.S.: The Multics MACLISP Compiler. The Basic Hackery – a Tutorial. MIT Press, Cambridge (1977, 1988, 1996)

    Google Scholar 

  17. Hoare, C.A.R.: Record Handling. In: ALGOL Bulletin no. 21 (1965)

    Google Scholar 

  18. Hoare, C.A.R.: Further Thoughts on Record Handling. In: ALGOL Bulletin no. 23 (1966)

    Google Scholar 

  19. Hoare, C.A.R.: Record Handling. In: Genuys, F. (ed.) Programming Languages, pp. 291–346. Academic Press, London (1968)

    Google Scholar 

  20. Hoare, C.A.R.: Proof of the Correctness of Data Representations. Acta Informatica 1 (1972)

    Google Scholar 

  21. Hoare, C.A.R.: Monitors: an Operating System Structuring Concept. Comm. ACM 17(10), 549–557 (1974)

    Article  MATH  Google Scholar 

  22. Gosling, J., Joy, B., Steele, G.: The Java Language Specification. Java(tm) Series. Addison-Wesley, Reading (1989)

    Google Scholar 

  23. Håndlykken, P., Nygaard, K.: The DELTA System Description Language: Motivation, Main Concepts and Experience from use. In: Hünke, H. (ed.) Software Engineering Environments, GMD. North-Holland, Amsterdam (1981)

    Google Scholar 

  24. Keene, S.E.: Object-Oriented Programming in COMMON LISP-A Programmer’s Guide to CLOS. Addison-Wesley, Reading (1989)

    MATH  Google Scholar 

  25. Kristensen, B.B., Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Abstraction Mechanisms in the BETA Programming Language. In: Proceedings of the Tenth ACM Symposium on Principles of Programming Languages, Austin, Texas (1983)

    Google Scholar 

  26. Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object Oriented Programming in the BETA Programming Language. Addison-Wesley/ACM Press (1993)

    Google Scholar 

  27. Martin, R.C.: Design Principles and Design Patterns. Microsoft, http://www.objectmentor.com/

  28. Meyer, B.: Eiffel: The Language. Prentice Hall, Englewood Cliffs (1992)

    MATH  Google Scholar 

  29. Liskov, B., Snyder, A., Atkinson, R., Schaffert, C.: Abstraction Mechanisms in CLU. Comm. ACM 20(8), 564–576 (1977)

    Article  MATH  Google Scholar 

  30. Nygaard, K., Dahl, O.-J.: SIMULA Session. In: Wexelblatt, R. (ed.) History of Programming Languages. ACM, New York (1981)

    Google Scholar 

  31. Owe, O., Dahl, O.-J.: Generator Induction in Order Sorted Algebras. Formal Aspects of Computing 3, 2–20 (1991)

    Article  Google Scholar 

  32. Nygaard, K.: GOODS to Appear on the Stage. In: Proceedings of the 11th European Conference on Object-Oriented Programming. Springer, Heidelberg (1997)

    Google Scholar 

  33. Stroustrup, B.: The C++ Programming Language. Addison-Wesley, Reading (1986)

    MATH  Google Scholar 

  34. Ungar, D., Smith, R.B.: SELF: The Power of Simplicity. SIGPLAN Notices 22(12) (1987)

    Google Scholar 

  35. Wang, A., Dahl, O.-J.: Coroutine Sequencing in a Block Structured Environment. BIT 11, 425–449 (1971)

    Article  MATH  Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Dahl, OJ. (2004). The Birth of Object Orientation: the Simula Languages. In: Owe, O., Krogdahl, S., Lyche, T. (eds) From Object-Orientation to Formal Methods. Lecture Notes in Computer Science, vol 2635. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39993-3_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39993-3_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21366-6

  • Online ISBN: 978-3-540-39993-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics