C++ FOR INTERMEDIATE AND BEYOND

Next OOP & MISC Prev: C++ FOR BEGINNERS Up: ABMT 130793

C++ BOOKS FOR NON-BEGINNERS
===========================


These are sorted by frequency of recommendation.


Stroustrup

The C++ Programming Language (2nd Ed), Bjarne Stroustrup.
Addison-Wesley, 1991, 0-201-53992-6

The newest text from the creator of the language.  Also
includes the reference manual [minus the annotations].
Written at a fairly high level.  Almost everyone in the known
universe uses Stroustrup's The C++ Programming Language (2nd
Edition) as a reference.  It is also a pretty good tutorial.
You will probably want a copy of it anyway as a reference even
if you settle on another book.. For a language reference
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 and
excellent C++ design suggestions  If anyone recommends
Stroustrup's The C++ Programming Language, 2nd ed. as a
beginner's book, take it with a grain of salt.  It's not a
very readable book for C++ beginners, though it's a great
reference once you know C++.

Ellis & Stroustrup

The Annotated C++ Reference Manual, Ellis & Stroustrup,
Addison-Wesley.  0-201-51459-1.

Get Ellis and Stroustrup's "The Annotated C++ Reference
Manual" if you want a 'really  complete' reference.  The
annotations tend to help explain the design of the language a
lot.  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
(except for changes coming from the ANSI committee).

Coplien

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!

It explains a number of programming idioms that are used in
C++.  It did more to make clear why various features exist
than any other C++ text I have read.  Until you are
proficient, ignore the later chapters that go into idioms that
are not native to C++.  Coplien talks about how to simulate
some of the features of other Object Oriented languages,
mainly Smalltalk, in C++.  This is confusing at best for
someone who does not Smalltalk.  It is also not really useful
for someone trying to learn C++.   Learn a few tricks/idioms
(though a lot of it -- the dynamic typing stuff -- isn't
really practical or good C++ programming style IMHO).


OTHER C++ BOOKS
===============

These are in alphabetic order, by author.


Programming in an Object-Oriented Environment, Raimund K. Ege,
Academic Press, Inc., San Diego, CA, 1992, hardcover, ISBN
0-12-232930-9 (also: Academic Press Limited, London, UK).

It presents a complete and thorough introduction to all
object-oriented concepts, and uses the newest version of C++.
It contains a large example/case study, and a comparison of
major OO programming languages. In addition, the book extends
the object-oriented view to all elements of the programming
environment: data structures and algorithms, programming
tools, user interfaces, data bases and software design. All
concepts are illustrated with hands-on programming examples in
C++.  [Author's recommendations].


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.  Respondent suggests 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."


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


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++.  It will save you many weeks of of
learning common mistakes,


C++ Programming Guidelines, Plum and Saks, Plum Hall, 1991,
0-911-537-10-4

Best "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.


A C++ Toolkit, Shapiro, Prentice Hall 1991, 0-13-127663-8

Similar to Hansen, but at a little easier reading level.
People who want to see lots of C++ programming examples should
get both.


-----------------------------------------------------------------
|    Michael Turk                          ph  61 46 203 466    |
|    [email protected]                     fax 61 46 266 683    |
|                                                               |
|    UWS, Macarthur, Campbelltown, NSW, 2560, AUSTRALIA.        |
-----------------------------------------------------------------

automatically generated by info2www version 1.2.2.8