home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.c++
- Path: sparky!uunet!microsoft!hexnut!jimad
- From: jimad@microsoft.com (Jim Adcock)
- Subject: Re: What is a good C++ book?
- Message-ID: <1992Dec30.200052.8413@microsoft.com>
- Date: 30 Dec 92 20:00:52 GMT
- Organization: Microsoft Corporation
- References: <1hqi23INNia6@msuinfo.cl.msu.edu>
- Lines: 126
-
- In article <1hqi23INNia6@msuinfo.cl.msu.edu> byrne@cps.msu.edu (Eric J. Byrne) writes:
- | Sorry, if this is a FAQ, but I don't follow this group. I'm looking for
- | a good book on C++.
-
- A Short List of Preferred C++ Texts
-
- With the size of the C++ community continuing to double about every
- nine months, many C++ programmers haven't had a chance to complete
- their C++ bookshelf. The below "Short List" of C++ texts attempts
- to list favorite C++ texts in many categories, in approximately the
- order a new C++ programmer might wish to acquire the texts. A few good
- texts don't appear in this list because they closely overlap other,
- more preferred texts in this list. Specialized texts, not applicable
- to most C++ programmers are not listed here, primarily because I have
- not read all, but also because this is intended to be a "short list."
-
- [The following three texts tend to overlap some aspects of each other
- considerably. If you are only going to buy one, maybe get
- "The C++ Programming Language" since it contains a copy of
- the reference manual [minus the annotations]. If you can only
- buy two maybe get the Lippman and The Annotated C++ Reference Manual,
- because the annotations tend to help explain the design of the
- language a lot. But, buy all three if you can stand it!
- Each has something unique to offer.]
-
- C++ Primer 2nd Edition, Lippman, Addison-Wesley 1991, 0-201-54848-8
- Historically, the most common text to learn C++ from. Great
- coverage of multiple inheritance. Great coverage of templates.
- Very readable.
-
- The C++ Programming Language Second Edition, Stroustrup,
- Addison Wesley 1991, 0-201-53992-6
- The newest text from the creator of the language. Also includes
- the reference manual. [But, get Ellis and Stroustrup's
- "The Annotated C++ Reference Manual" if you want a *really*
- "complete" reference.] Written at a fairly high level -- Lippman
- probably makes for a little easier reading. Serious C++
- programmers will want to read this -- at least to get a better idea
- of where Stroustrup is coming from. Good coverage of templates and
- exceptions, and lots of *practical* advice on how to get C++
- to work on real projects.
-
- The Annotated C++ Reference Manual, Ellis & Stroustrup, Addison-Wesley 1990
- 0-201-51459-1. Much more than you ever wanted to know about the
- intimate details of the language, and why. Today's "definitive"
- answer about what is, or isn't in the language -- excepting
- [relatively small?] changes coming from the ANSI committee.
-
- Effective C++, Scott Meyers, Addison-Wesley 1992 0-201-56364-9
- Fifty gems of wisdom that every C++ programmer needs to
- know and follow. Covers probably 90% of the questions that
- are asked on comp.lang.c++
-
- The C++ Answer Book, Hansen, Addison-Wesley 1989, 0-201-11497-6
- Lots of good, small, ADT-like examples of C++ programming.
- The best reference on how to write little classes like Int,
- string, vector, etc. Written to be used with Stroustrup's
- original 1st edition of "The C++ Programming Language" this
- needs to be updated to correspond to Stroustrup's second edition....
- ....Something Hansen has been promising forever.
-
- A C++ Toolkit, Shapiro, Prentice Hall 1991, 0-13-127663-8
- Similar to Hansen, but at a little easier reading level.
- [I haven't decided which I like more. Let me know which
- you prefer. People who want to see lots of C++ programming
- examples should get both.]
-
- Advanced C++ Programming Styles and Idioms, Coplien, Addison-Wesley 1992
- 0-201-54855-0 Coplien describes how to write higher order abstractions
- using C++. Examples include reference counting,
- wrapper classes, objects that act as functions,
- "Self"-like and "Smalltalk"-like programming styles, etc.
- Its refreshing to have a new C++ book written at
- a higher level!
-
- C++ Programming Guidelines, Plum and Saks, Plum Hall, '1991'
- [actually just becoming available now?] 0-911-537-10-4
- Best [relatively] "egoless" description of how people
- in the C++ community commonly write code. The best
- place to look for programming convention descriptions.
- Great source of practical advice. Much more and much
- better than "C Programming Guidelines," if you've seen
- that.
-
- Data Abstraction and Object Oriented Programming in C++,
- Gorlen, Orlow & Plexico, John Wiley, 0-471-92346-X
- The best reference on how to write big, "Smalltalk-like"
- classes relying on polymorphism, a common base class,
- dynamic type casting, etc. Read this one *before* you
- argue on comp.lang.c++ about the "best" way to do
- store/restore, dynamic type casting, etc. Gorlen did
- it first -- and better than most. [I suggest Coplien's
- book before Gorlen, lest programmers from other
- OOPL backgrounds fall into the trap of thinking the
- "Smalltalk"-like approach "is the only way to fly."
-
- Good and Easy OOP books, which also have tie-ins to C++:
-
- An Introduction to Object-Oriented Programming, Budd, Addison-Wesley 1991,
- 0-201-54709-0. An excellent, and pleasantly unbiased introduction
- to OOP, covering a number of languages including C++.
-
- Object Oriented Design with Applications, Booch, Benjamin/Cummings 1991,
- 0-8053-0091-0. The most widely regarded text about what it means
- to design object oriented software.
-
- Object Orientation: Concepts, Languages, Databases, User Interfaces,
- Khoshafian & Abnous, John Wiley 1990, 0-471-51801-8. A survey
- of the object oriented world, and the best description of
- databases and issues of object identity.
-
- Supplemental Readings:
-
- USENIX C++ Workshops and Conferences
- OOPSLA Conference Proceedings
- The C++ Report
- Journal of Object Oriented Programming
- comp.lang.c++
- comp.std.c++
- bix
- comp.object [if one has lots of time to waste]
- working papers of the ANSI-C++ committee
-
- Good Luck!
-
-
-