From: bs@alice.UUCP (Bjarne Stroustrup)
Newsgroups: comp.lang.c++
Subject: C++ design
Date: 13 Jun 89 19:39:31 GMT



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++.


.

