Book contents
- Frontmatter
- Contents
- Preface
- Part 1 Functions and Foundations
- Part 2 Procedures, Types, Memory Management, and Control
- Part 3 Modularity, Abstraction, and Object-Oriented Programming
- 9 Data Abstraction and Modularity
- 10 Concepts in Object-Oriented Languages
- 11 History of Objects: Simula and Smalltalk
- 12 Objects and Run-Time Efficiency: C++
- 13 Portability and Safety: Java
- Part 4 Concurrency and Logic Programming
- Appendix A Additional Program Examples
- Glossary
- Index
11 - History of Objects: Simula and Smalltalk
from Part 3 - Modularity, Abstraction, and Object-Oriented Programming
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Part 1 Functions and Foundations
- Part 2 Procedures, Types, Memory Management, and Control
- Part 3 Modularity, Abstraction, and Object-Oriented Programming
- 9 Data Abstraction and Modularity
- 10 Concepts in Object-Oriented Languages
- 11 History of Objects: Simula and Smalltalk
- 12 Objects and Run-Time Efficiency: C++
- 13 Portability and Safety: Java
- Part 4 Concurrency and Logic Programming
- Appendix A Additional Program Examples
- Glossary
- Index
Summary
Objects were invented in the design of Simula and refined in the evolution of Smalltalk. In this chapter, we look at the origin of object-oriented programming in Simula, based on the concept of a procedure that returns a pointer to its activation record, and the development of a purely object-oriented paradigm in the Smalltalk project and programming language. Twenty years after its development, Smalltalk provides an important contrast with C++ and Java both in simplicity of concept and in the way that its implementation provides maximal programming flexibility.
ORIGIN OF OBJECTS IN SIMULA
As the name suggests, the Simula programming language was originally designed for the purpose of simulation. The language was designed by O.-J. Dahl and K. Nygaard at the Norwegian Computing Center, Oslo, in the 1960s. Although the designers began with a specific interest in simulation, they eventually produced a general-purpose programming language with widespread impact on the field of computing.
Simula has been extremely influential as the first language with classes, objects, dynamic lookup, subtyping, and inheritance. It was an inspiration to the Xerox Palo Alto Research Center (PARC) group that developed Smalltalk and to Bjarne Stroustrop in his development of C++. Although Simula 67 had important object-oriented concepts, much of the popular mystique surrounding objects and object-oriented design developed later as a result of other efforts, most notably the Smalltalk work of Alan Kay and his collaborators at Xerox PARC.
- Type
- Chapter
- Information
- Concepts in Programming Languages , pp. 300 - 336Publisher: Cambridge University PressPrint publication year: 2002