|
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
|
Jean D. Ichbiah , Bernd Krieg-Brueckner , Brian A. Wichmann , John G. P. Barnes , Olivier Roubine , Jean-Claude Heliard, Rationale for the design of the Ada programming language, ACM SIGPLAN Notices, v.14 n.6b, p.1-261, June 1979
[doi> 10.1145/956653.956654]
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
Joshua S. Auerbach , Arthur P. Goldberg , Germán S. Goldszmidt , Ajei S. Gopal , Mark T. Kennedy , Josyula R. Rao , James R. Russell, Concert/C: a language for distributed programming, Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference, p.8-8, January 17-21, 1994, San Francisco, California
|
|
|
|
|
|
Andrew P. Black , Norman C. Hutchinson , Eric Jul , Henry M. Levy, The development of the Emerald programming language, Proceedings of the third ACM SIGPLAN conference on History of programming languages, p.11-1-11-51, June 09-10, 2007, San Diego, California
|
|
|
|
|
|
|
|
|
Daniel Frampton , Stephen M. Blackburn , Perry Cheng , Robin J. Garner , David Grove , J. Eliot B. Moss , Sergey I. Salishev, Demystifying magic: high-level low-level programming, Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, March 11-13, 2009, Washington, DC, USA
|
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...
|