Abstract
“Object-Oriented Programming” and “Data Abstraction” have become very common terms. Unfortunately, few people agree on what they mean. I will offer informal definitions that appear to make sense in the context of languages like Ada, C++, Modula-2, Simula67, and Smalltalk. The general idea is to equate “support for data abstraction” with the ability to define and use new types and equate “support for object-oriented programming” with the ability to express type hierarchies. Features necessary to support these programming styles in a general purpose programming language will be discussed. The presentation centers around C++ but is not limited to facilities provided by that language.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
8 References
Birtwistle, Graham et.al.: SIMULA BEGIN. Studentlitteratur, Lund, Sweden. 1971. Chartwell-Bratt Itd, UK. 1980.
Bobrow, D. and Stefik, M.: The LOOPS Manual. Xerox Parc 1983.
Dahl, O-J. and Hoare, C.A.R.: Hierarchical Program Structures. In Structured Programming. Academic Press 1972.
Cargill, Tom A.: PI: A Case Study in Object-Oriented Programming. SIGPLAN Notices, November 1986, pp 350–360.
C.C.I.T.T Study Group XI: CHILL User’s Manual. CHILL Bulletin no 1. vol 4. March 1984.
Goldberg, A. and Robson, D.: Smalltalk-80: The Language and its Implementation. Addison-Wesley 1983.
Ichbiah, J.D. et.al.: Rationale for the Design of the Ada Programming Language. SIGPLAN Notices, June 1979.
Kernighan, B.W. and Ritchie, D.M.: The C Programming Language. Prentice-Hall 1978.
Kerr, Ron: Object-Based Programming: A Foundation for Reliable Software. Proceedings of the 14th SIMULA Users’ Conference. August 1986, pp 159–165. An abbreviated version of this paper can be found under the title A Materialistic View of the Software “Engineering” Analogy in SIGPLAN Notices, March 1987, pp 123–125.
Liskov, Barbara et. al.: Clu Reference Manual. MIT/LCS/TR-225, October 1979.
Liskov, Barbara et. al.: Abstraction Mechanisms in Clu. CACM vol 20, no 8, August 1977. pp 564–576.
Milner, Robert: A Proposal for Standard ML. ACM Symposium on Lisp and Functional Programming. 1984, pp 184–197.
Nygaard, Kristen: Basic Concepts in Object Oriented Programming. SIGPLAN Notices, October 1986, pp 128–132.
SIMULA Standards Group, 1984: SIMULA Standard. ASU Secretariat, Simula a.s. Post Box 150 Refstad, 0513 Oslo 5, Norway.
Snyder, Alan: Encapsulation and Inheritance in Object-Oriented Programming Languages. SIGPLAN Notices, November 1986, pp 38–45.
Stroustrup, Bjarne: The C++ Programming Language. Addison-Wesley, 1986.
Stroustrup, Bjarne: An Overview of C++. SIGPLAN Notices, October 1986, pp 7–18.
Stroustrup, Bjarne: Multiple Inheritance for C++. Proceedings of the Spring’87 EUUG Conference. Helsinki, May 1987.
Weinreb, D. and Moon, D.: Lisp Machine Manual. Symbolics, Inc. 1981.
Wirth, Niklaus: Programming in modula-2. Springer-Verlag, 1982.
Woodward, P.M. and Bond, S.G.: Algol 68-R Users Guide. Her Majesty’s Stationery Office, London. 1974.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stroustrup, B. (1987). What is “Object-Oriented Programming”?. In: Bézivin, J., Hullot, JM., Cointe, P., Lieberman, H. (eds) ECOOP’ 87 European Conference on Object-Oriented Programming. ECOOP 1987. Lecture Notes in Computer Science, vol 276. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47891-4_6
Download citation
DOI: https://doi.org/10.1007/3-540-47891-4_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18353-2
Online ISBN: 978-3-540-47891-1
eBook Packages: Springer Book Archive