ACM Home Page
Please provide us with feedback. Feedback
A history of C++: 1979–1991
Full text PdfPdf (3.04 MB)
Source History of Programming Languages archive
The second ACM SIGPLAN conference on History of programming languages table of contents
Cambridge, Massachusetts, United States
Pages: 271 - 297  
Year of Publication: 1993
ISBN:0-89791-570-4
Also published in ...
Author
Bjarne Stroustrup  AT&T Bell Labs, Murray Hill, NJ
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 28,   Downloads (12 Months): 323,   Citation Count: 9
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/154766.155375
What is a DOI?

ABSTRACT

This paper outlines the history of the C++ programming language. The emphasis is on the ideas, constraints, and people that shaped the language, rather than the minuitiae of language features. Key design decisions relating to language features are discussed, but the focus is on the overall design goals and practical constraints. The evolution of C++ is traced from C with Classes to the current ANSI and ISO standards work and the explosion of use, interest, commercial activity, compilers, tools, environments, and libraries.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
Babcisky,1984
Karel Babcisky: Simula Performance Assessment. Proc. IFIP WG2.4 conference on System Implementation Languages: Experience and Assessment. Camer~ry, Kent, UK. September 1984.
 
Birtwistle, 1979
 
Booch,1991
Grady Booth: Object-Oriented Design. Benjamin Ctmlmings. 1991. ISBN 0.8053-0091-0.
Booch,1990
 
Call,1987
Lisa A. Call, et al.: - An Open System for Graphical User Interfaces. Proc. USEN1X C++ Conference. Santa F~, NM. November 1987.
 
Campbell,1987
Roy Campbell, eL at.: The Design of a Multiprocessor Operating System. Proc. USENIX C++ Conference. Santa Fe, NM. November 1987.
 
Cargill,1991
Tom A. Cargill: The Case Against Multiple Inheritance in C++. USENIX Computer Systems Vol 4, no 1,I 991.
 
Carroll,1991
Marlin Carroll: Using Multiple Inheritance to Implement Abstract Data Types. The C+-~- Repoff.. April 1991.
 
Cristian,1989
Flaviu Cristian: Exception Handling. in Dependability of Resilient Computers, T. Andersen Editor, BSP Professional Books, Blackwell Scientific Publications, 1989.
 
Cox,1986
 
Dahl,1988
Ole-lohan Dahl: Personal communication.
 
Ellis,1990
 
Goldberg,1983
Goodenough,1975
 
Gorlen,1987
Keith E. Gorlen: An Object-Oriented Class {.z'brary for C++ Programs. Prec. USENIX C++ Confenmce. Santa Fe, NM. November 1987.
 
Gorlen,1990
Keith F.. Goden, Sanford M. Odow, and Perry S. Plexico: Data Abstraclion and Object-Oriented Programming in C~+. Wiley. West Sussex. England. 1990. ISBN 0-471-92346-X.
Ichbiah,1979
 
Johnson,1989
Ralph E. Johnson: The Importance of Being Abstract. The C~.+ Report, Vol I No 3, March 1989.
 
Kernighan,1981
 
Kernighan,1981
Brian Kemighan: Why Pascal is not my Favorite Programragng Language. AT&T Bell Labs Computer Science Technical Report No. 100. July 1981.
 
Kernighan,1988
 
Kiczales,1992
 
Koenig,1988
Andrew Koenig: Associaa've arrays in C++. Prec. USENIX Conference. San Francisco. Jm~ 1988.
 
Koenig,1989
Andrew Koeni8 and Bjame Stmustrup: C++: As close to C as possible - but no closer, The C++ Report. VoL 1 No.7. July 1989.
 
Koenig,1989b
Andrew Koenig and Bjame Struustrup: E~ceprion Handh'ng for C++. Pt~. "C++ at Work" Conference. November 1989.
 
Koenig,1990
 
Krogdahl,1984
Stein Krogdahl: An Efficient Implementazfon of Simula Classes with Multi. pie Prefixing. Research Report No. 83 lane 1984, University of Oslo, Institute of Informatics.
 
Lenkov,1989
Dmitty Lenkov: C+, Standardization Proposal, #X3JI 1/89016.
 
Linton,1987
Mark A. Linton and Paul .R. Calder:. The Design and Implementation of InterViews. Proc. USENIX C++ Conference. Santa Fe, NM. November 1987.
Liskov,1987
 
Meyer,1988
 
McCluskey,1992
Glen McCluskey: An Environment for Template lnstamiation. The C-~ Report. February 1992.
 
Nelson,1991
 
Rose,1984
Leorde V. Rose and Bjame Stroustrup: Complex Arithmetic in C++ Interhal AT&T Bell Labs Technical Memorandum. January 1984. Reprinted in AT&T C++ Translator Release Notes November, 1985,
 
Sakkinen,1992
Markku Sakkinen: A Critique of the Inheritance Principles of C++. USENIX Computer Systems, vol 5, no I, Winter 1992.
Sethi, 1980
 
Shopiro,1985
Jonathan E. Shopiro: Strings and list, for C++. AT&T Bell Labs Internal Technical Memorandum. July 1985.
 
Shopiro,1987
Jonathan E. Shopiro: Extending the C++ Task System for Real-Time Contml. Proc. USENIX C++ Conference. Santa Fe, NM. November 1987.
Snyder, 1986
Stroustrup, 1978
 
Stroustrup,1979a
Bjan~ Stn3ustrup: Communication and Control in Distributed Computer Systems. Ph.D. thesis, Cambridge University, 1979.
 
Stroustrup,1979b
Bjame Sttoustrup: An Inter-Module Communication System for a Distributed Computer Syatem. Proc. I st Int'l Conf. on Distributed Computing Systems. Ocaober 1979. pp412-418.
Stroustrup,1980a
 
Stroustrup,1980b
Bjarne Stroustrup: A Set of C Classed for Co-roua'ne Style Progranmung. Bell Laboratories Computer Science Technical Report CSTR-90. November I980.
 
Stroustrup,1981a
Bjarne Stroustmp: Long Return: A technique for Improving The E~ciency of inter-Module Communication. Software Practice and Experience. January 1981. pp 131-143.
 
Stroustrup, 1981b
Bjame Stroustrup: Extensions of the C Language Type Concept Bell Labs Internal Memorandum. January 1981.
 
Strousrup, 1982
Bjarne Stroustrup: Addz'~g Class~ to C: An Exercise in Language Evoluz/on. Bell Laboratories Computer Science internal document. April 1982. Software Pre~ce & Experience, Voi.13. 1983. pp. 139-61.
 
Stroustrup,1984a
Bjame Stroustrup: The (7++ Reference Manual. AT&T Bell Labs Cornpater Science Tec, hnic.al Report No. 108 January 1984. (Written in the summer of 1983). Revised version November I984.
 
Stroustrup,1984b
Bjame Stroustmp: Data Abstracffon/n C. BeU Labs ~c.al Ioumal. Vol 63, No. 8. October 1984. pp 1701-1732. (Written in the summer of 1983)
 
Stroustrup,1984c
Bjame Str~u.m~p: Operator Overloading in C++. Proc. IFIP WG2.4 Conference on System Implementation Languages: Experience & Assessment September 1984.
 
Stroustrup,1985
Bjame Sm3ustrup: An Ex:ensible i10 Facility for (7.++ Prtm. Summer I985 USENIX Conference. June 1985. pp 57-70.
Stroustrup,1986a
 
Stroustrup,1986b
 
Stroustrup,1986c
 
Stroustrup,1987a
Bjame Stroustrup- Multiple Inheritance for C++. Prim. EUUG Spring Conference, May 1987. A/so, USEN/X Computer Systems, Vol 2 No 4, Fall 1989.
 
Stroustrup, 1987b
Bjame Stroustrup and Jonathan Shopiro: A Set of C classes for Co-Routine Style Programming. Proc. USENIX C++ conference, Santa Fe. November 1987. pp 417-439.
 
Stroustrup,1987c
Bjame Stroustrup: The Evolution o/ C++ : 19854987. Prec. USENIX C++ conference, Santa Fe. November 1987. pp 1-22.
 
Stroustrup,1988a
Bjame Stroustrup: Type-s~fe Linkage for C++. USENIX Computer Systems, VoLI No.4. Fall 1988.
 
Stroustrup,1988b
Bjame Strou.m~p: Parameterized Types for C++. Proc. USENIX C++ Conference, Denver. October 1988, pp. 1-18. Also, USENIX Compu~r Systems, Vol.2 No. 1. W'mter 1989.
 
Stroustrup,1989a
Bjame Stroustrup: Standardizing C++. The C++ Report. Vol.1 No.I. January 1989.
 
Stroustrup,1989b
Bjame Stmustrup: The Evolution o}'C++: 1985-1989. USENIX Computer Systems, Vol.2 No.3. Summer 1989. Revised version of {Stroustrup,1987c}.
 
Stroustrup,1990
Bjame Stroustrup: On Language Wars. Hotline on Object-Oriented Technology. Vol 1, No 3. January 1990.
 
Stroustrup,1991
 
Stroustrup,1992a
Bjame Stmustmp and Dmitri Lenkov: Run-Time Type Identi~cation for (7++. The C++ Report. March 1992.
 
Stroustrup,1992b
Bjarne Stro~p: How to Write a C++ Language Extension Proposal. The C++ Report. May 1992.
 
Tiemann,1987
Michael Tiemann: Wrappers Proc. USEHIX C++ conference, Santa Fe. November 1987.
 
Waldo,1991
Jim Waldo: Controversy: The Case for Multiple Inheritance in C++. USEHIX Compmer Systems, vol 4, no 2, Spring 1991.

CITED BY  9


REVIEW

"Frank William Calliss : Reviewer"

I found this paper to be a surprisingly enjoyable read. I had anticipated a self-congratulatory description of all the wise decisions that Stroustrup made in designing C++. Instead, I read a paper that provides wonderful insight in  more...