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
12 - Objects and Run-Time Efficiency: C++
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
C++ is an object-oriented extension of the C language. It was originally called C with classes, with the name C++ originating around 1984. A Bell Laboratories researcher interested in simulation, Bjarne Stroustrup began the C++ project in the early 1980s. His goal was to add objects and classes to C, using his experience with Simula as the basis for the design. The design and implementation of C++ was originally a one-person effort, with no apparent intent to produce a commercial product. However, as interest in objects and program structure grew over the course of the 1980s, C++ became popular and widely used. In the 1990s, C++ became the most widely used object-oriented language, with good compilers and development environments available for the Macintosh, PC, and Unix-based workstations.
C, discussed in Section 5.2, was originally designed by Dennis Ritchie. The C programming language was used for writing the Unix operating system at Bell Laboratories. The original implementation of C++ was a preprocessor that converted C++ to C.
DESIGN GOALS AND CONSTRAINTS
The main goal of C++ is to provide object-oriented features in a C-based language without compromising the efficiency of C. In the process of adding objects to C, some other improvements were also made. In more detail, the main design goals of C++ may be summarized as follows:
data abstraction and object-oriented features,
better static type checking,
[…]
- Type
- Chapter
- Information
- Concepts in Programming Languages , pp. 337 - 383Publisher: Cambridge University PressPrint publication year: 2002