Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!att!ulysses!andante!alice!bs From: bs@alice.UUCP (Bjarne Stroustrup) Newsgroups: comp.lang.c++ Subject: C++ design Keywords: information Message-ID: <9474@alice.UUCP> Date: 13 Jun 89 19:39:31 GMT Organization: AT&T Bell Laboratories, Murray Hill NJ Lines: 63 Producing a meaningful comparison of two (or more) languages is a difficult task worthy of many months work (definitely involving actual programming in both languages and consultation with diverse groups of people having completed projects in both languages). When done well, such studies are good candidates for a major papers and significant contributions to the culture surrounding programming. When done badly such studies can be a sham and a travesty. It is definitely not a job for novices and definitely not a job for people deeply involved in one language (and not the others) or with other major demands on their time. So this note and the ones following discuss C++'s design and some C++ features in a way that I imagine might be helpful to someone trying to compare C++ to other languages/systems or simply to get an idea of what C++ is about and where to find more information. For a more solid and considered treatment of C++ see the literature. In particular, see my paper `What is Object-Oriented Programming?' that can be found in the May'88 issue of IEEE Software magazine. This paper essentially presents the view of what C++ is supposed to grow into. It was first presented (in essentially its current form) to the Simula Users' Group in Stockholm, August 1986. A more detailed look at some of the directions in which C++ is growing can be found in `Possible Directions for C++' in the Proceedings of the first USENIX C++ conference. For a much more diverse view of C++ see the two proceedings from the two USENIX C++ conferences. These papers have the advantage of providing insights into C++ and its use from many different people - only a minority of whom are affiliated with any of the C++ purveyors. Other good sources of information about C++ are `The C++ Report' (a newsletter) and Andrew Koenig's C++ column in the Journal of Object Oriented Programming. Should any of this increase your interest to the point where reading a textbook seems worth the effort here is a selection (in chronological order more or less): Stroustrup, Bjarne: "The C++ Programming Language," Addison-Wesley, 1986. Wiener, Richard S., Pinson, Lewis J.: "An Introduction to Object-Oriented Programming and C++," Addison-Wesley, 1988. Berry, John: "The Waite Group's C++ Programming," Howard W. Sams & Company, 1988. Pohl, Ira: "C++ for C programmers," Benjamin Cummings. 1989. Dewhurst, Steve and Stark, Kathy: "Programming in C++," Prentice Hall, ISBN 0-13-723156-3. Lippman, Stan: "A C++ Primer," Addison Wesley ISBN: 0-201-16487-6 Hansen, Tony: "The C++ Answer Book," Addison Wesley ISBN: 0-201-11497-6 (announced) Gorlen, Keith: "A Guide to Object-Oriented Programming in C++," John Wiley & Sons (announced) Eckel, Bruce: "Using C++," Osborne/McGraw-Hill (July, 1989) Someone from Oregon Software occationally posts a rather complete C++ bibliography to comp.lang.c++.