what is object oriented programming by bjarne stroustrup

what is object oriented programming by bjarne stroustrup -...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
What is ‘‘Object-Oriented Programming’’? (1991 revised version) Bjarne Stroustrup Murray Hill, New Jersey 07974 ABSTRACT ‘‘Object-Oriented Programming’’ and ‘‘Data Abstraction’’ have become very com- mon 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, Simula, 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 pro- gramming’’ 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 lan- guage. 1 Introduction Not all programming languages can be ‘‘object oriented’’. Yet claims have been made to the effect that APL, Ada, Clu, C + +, CLOS, and Smalltalk are object-oriented programming languages. I have heard dis- cussions of object-oriented design in C, Pascal, Modula-2, and CHILL. As predicted in the original version of this paper, proponents of object-oriented Fortran and Cobol programming are now appearing. ‘‘Object- oriented’’ has in many circles become a high-tech synonym for ‘‘good’’, and when you examine discus- sions in the trade press, you can find arguments that appear to boil down to syllogisms like: Ada is good Object oriented is good ----------------------------------- Ada is object oriented We simply must be more careful with our concepts and logic. This paper presents one view of what ‘‘object oriented’’ ought to mean in the context of a general pur- pose programming language. §2 Distinguishes ‘‘object-oriented programming’’ and ‘‘data abstraction’’ from each other and from other styles of programming and presents the mechanisms that are essential for supporting the vari- ous styles of programming. §3 Presents features needed to make data abstraction effective. §4 Discusses facilities needed to support object-oriented programming. §5 Presents some limits imposed on data abstraction and object-oriented programming by traditional hardware architectures and operating systems. __________________ The first version of this paper was presented at the Association of Simula Users’ meeting in Stockholm, August 1986. Later, a version was presented as an invited talk at the first European Conference on Object-Oriented Programming in Paris and published by Springer Verlag. It also appeared in the May 1988 issue of IEEE Software Magazine. This version has been revised to reflect the latest version of C + + as described in The Annotated C + + Reference Manual 5 approved by the ANSI C++ committee (X3J16) as the basis of formal standardization. Copyright (c) AT&T.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 2 - Examples will be presented in C + +. The reason for this is partly to introduce C + + and partly because C + + is
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 11/15/2010 for the course ECE 1234 taught by Professor G.wdwdw during the Spring '10 term at St. Johns Seminary.

Page1 / 21

what is object oriented programming by bjarne stroustrup -...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online