Previous | Table of Contents | Next |
It is clear that given the number of people who have contributed to C++ in some form or other over the last 12 years or so, I must have left most unmentioned. Some have been mentioned in this chapter; more can be found in section 1.2c of the ARM and other acknowledgment sections of my books and papers. Here I just mention Doug McIlroy, Brian Kernighan, Andrew Koenig, and Jonathan Shopiro, who have provided constant help, ideas, and encouragement to me and others for a decade.
Id also like to mention the people who have done much of the hard but usually unnoticed and unacknowledged work of developing and supporting Cfront through the years when we were always short of resources: Steve Dewhurst, Laura Eaves, Andrew Koenig, Stan Lippman, George Logothetis, Glen McClusky, Judy Ward, Nancy Wilkinson, and Barbara Moo, who managed AT&T Bell Labss C++ development and support group during the years when the work got done.
Also thanks to C++ compiler writers, library writers, and so on, who sent me information about their compilers and toolsmost of which went beyond what could be presented in a paper: Mike Ball, Walter Bright, Keith Gorlen, Steve Johnson, Kim Knuttilla, Archie Lachner, Doug Lea, Mark Linton, Aron Insinga, Doug Lea, Dmitri Lenkov, Jerry Schwarz, Michael Tiemann, and Mike Vilot.
In addition, thanks to people who read drafts of this chapter and provided many constructive comments: Dag Bruck, Steve Buroff, Peter Juhl, Brian Kernighan, Andrew Koenig, Stan Lippmann, Barbara Moo, Jerry Schwarz, and Jonathan Shopiro.
Most comments on the various versions of this chapter were of the form This chapter is too long please add information about X, Y, and Z also be more detailed about A, B, and C. I have tried to follow the first part of that advice, although the constraints of the second part have ensured that this did not become a short chapter. Without Brian Kernighans help, this chapter would have been much longer. See The Design and Evolution of C++ (Stroustrup, 1994) for a longer and less historically oriented discussion of the design of C++.
Thanks to Peter Salus for encouraging me to bring this story from 1991 up toward the end of the standards process.
Babcisky, K. September 1984. Simula performance assessment. Conference on System Implementation Languages: Experience and Assessment. Canterbury, Kent, UK.
Birtwistle, G., O.-J. Dahl, B. Myrhaug, and K. Nygaard. 1979. Simula begin. Lund, Sweden: Studentlitteratur..
Booch, G. 1991. Object-oriented design. Benjamin Cummings.
Booch, G., and M. M. Vilot. 1990. The design of the C++ Booch components. The OOPSLA90 conference.
Budge, K., J. S. Perry, and A. C. Robinson. August 1992. High-performance scientific computation using C++. USENIX C++ conference. Portland, Oregon.
Call, L. A., et al. November 1987. An open system for graphical user interfaces. USENIX C++ conference. Santa Fe, NM.
Campbell, R., et al. November 1987. The design of a multiprocessor operating system. USENIX C++ conference. Santa Fe, NM.
Cargill, T. A. 1991. The case against multiple inheritance in C++. Computing Systems 4(1).
Carroll, M. April 1991. Using multiple inheritance to implement abstract data types. The C++ Report.
Cristian, F. 1989. Exception handling. In T. Anderson (Ed.), Dependability of resilient computers. Blackwell Scientific Publications.
Cox, B. 1986. Object-oriented programming: An evolutionary approach. Reading, MA: Addison-Wesley.
Ellis, M. A., and B. Stroustrup. 1990. The annotated C++ reference manual. Reading, MA: Addison-Wesley.
Goldberg, A., and D. Robson. 1983. Smalltalk-80, The language and its implementation. Reading, MA: Addison-Wesley.
Goodenough, J. December 1975. Exception handling: Issues and a proposed notation. CACM.
Gorlen, K. E. November 1987. An object-oriented class library for C++ programs. Proceedings of the USENIX C++ conference. Santa Fe, NM.
Gorlen, K. E., S. M. Orlow, and P. S. Plexico. 1990. Data abstraction and object-oriented programming in C++. West Sussex, England: Wiley.
Ichbiah, J. D., et al. 1979. Rationale for the design of the ADA programming language. SIGPLAN Notices 14(6):Part B.
International Data Corporation study. 1997. Quoted by Mike Riciutti in a C|net report, May 15, 1997.
Johnson, R. E. 1989. The importance of being abstract. The C++ Report 1(3).
Kernighan, B. July 1981. Why Pascal is not my favorite programming language. AT&T Bell Labs Computer Science Technical Report No. 100.
Kernighan, B., and D. Ritchie. 1978. The C programming language. Englewood Cliffs, NJ: Prentice Hall.
Kernighan, B., and D. Ritchie. 1988. The C programming language (2nd ed.). Englewood Cliffs, NJ: Prentice Hall.
Kiczales, G., J. des Rivieres, and D. G. Bobrow. 1991. The art of the Metaobject Protocol. Cambridge, MA: MIT Press.
Knuth, D. 1973. The art of computer programming (Vol. 3). Reading, MA: Addison-Wesley.
Koenig, A. June 1988. Associative arrays in C++. Proceedings of the USENIX conference. San Francisco, CA.
Koenig, A., and B. Stroustrup. 1989a. C++: As close to C as possibleBut no closer. The C++ Report. 1(7).
Koenig, A., and B. Stroustrup. November 1989b. Exception handling for C++. Proceedings of the C++ at Work conference..
Koenig, A., and B. Stroustrup. 1990. Exception handling for C++. Journal of Object-Oriented Programming 3(2):16-33.
Krogdahl, S. 1984. An efficient implementation of Simula classes with multiple prefixing. Research Report No. 83. University of Oslo, Institute of Informatics.
Previous | Table of Contents | Next |