Topic: Books on c++


Author: jimlynch@netcom.com (Jim Lynch)
Date: Thu, 1 Jul 1993 13:30:24 GMT
Raw View
In article <1993Jun29.062607.27530@CERIS.Purdue.EDU> jheath@CERIS.Purdue.EDU (Ji
m Heath) writes:
>This may be a FAQ, but is there a "best" book for learning C++?  I
>recently purchased BC++ and would like some sort of tutorial book (or
>program).

Quote by Allen Holub (from syllabus of "C++ and Advanced C for
professional Programmers", UC Berkeley extension course):

Quote:
>>>>>
The following books represent the start of a good C++ and OOP library.
I consider all of them to be essential reading if you're going to
pursue C++ and object-oriented programming at all seriously.

Ellis and Stroustrup (usually called the "arm") is the ansi base document
and is the definitive language reference. The Meyers and Coplien books
describe how to use C++ effectively to solve real-world problems. Both
books start where other C++ books leave off, assuming that you already
know the mechanics of the language. Booch's book is the _only_ book that
I have read that describes object-oriented programming techniques in a
way that makes sense in the context of C++. I can't recommend the book
too highly. Virtually every other book on the subject assumes that the
way you do object-oriented programming in SmallTalk is the only valid way
to approach the subject, and this bias usually leads to unmaintainable
gobblygook (sic) when the techniques are applied to C++.

 o Margaret A. Ellis and Bjarne Stroustrup, "The Annotated C++ Reference
   Manual" (Reading, Mass., Addison-Wesley, 1990)

 o Scott Meyers, "Effective C++, 50 specific ways to Improve Your
   Programs and Designs" (Reading, Mass., Addison-Wesley, 1992)

 o James O. Coplien, "Advanced C++, Programming Styles and Idioms"
   (Reading, Mass., Addison-Wesley, 1992)

 o Grady Booch, Object-Oriented Design with Applications"
   (Redwood City, CA, Benjamin/Cummings, 1991)

 o James Rumbaugh et al, "Object Oriented Modeling and Design"
   (Englewood Cliffs; Prentice-Hall, 1991)

Supplemental Readings In C

Books in this section can fill in your knowledge of C. Since ansi C is a
proper subset of C++, a solid understanding of C is important if you want
to learn C++. Of the following, my own book covers topics related to C
that are important to understanding the language, many of which we'll
touch on in class. There are two long chapters on C pointers that should
be useful if you haven't worked with pointers very heavily.Arnold and
Peyton's book describes ansi C to already-knowledgable C programmers.
Koenig's invaluable books demonstrates (sic) all the problems that are
likely to arise in a C program and how to fix them. It's complemented by
Feuer's book, which is a collection of devilish excercises (and extensive
solutions) that are meant to show you those parts of the language that
you thought you knew but didn't. Harbison and Steele is the best C
reference manual going.

 o Allan Holub, "The C Companion" (Englewood Cliffs; Prentice-Hall, 1987)

 o Ken Arnold and John Peyton, "A C User's Guide to ANSI C" (Reading,
   Mass., Addison-Wesley, 1992)

 o Andrew Koenig, "C Traps and Pitfalls" (Reading, Mass., Addison-Wesley,
   1989)

 o Alan Feuer, "The C Puzzle Book" (Englewood Cliffs; Prentice-Hall, 1982)

 o Samuel Harbison and Guy Steele Jr., "C: A Reference Manual, 2nd
   edition" (Englewood Cliffs; Prentice-Hall, 1987)

Other Introductions to C++ and OOP

The following books are all introductions to C++ that you can use to
supplement the textbook if you like. They all cover about the same
material as the textbook, but do it in different ways. Eckel's is the
most basic (and easiest to read) and starts with an extensive
introduction to C for non Cprogrammers. Stroustrup's is the most advanced
(and obtuse) of the three. Lippman is a good compromise, but is poorly
organised.

 o Timothy Budd, "An Introduction to Object-Oriented Programming"
   (Reading, Mass., Addison-Wesley, 1991)

 o Bruce Eckel, "Using C++" (Berkeley, Osborne/McGraw-Hill, 1989)

 o Stanley B. Lippman, "C++ Primer, 2nd edition" (Reading, Mass.,
   Addison-Wesley, 1991)

 o Bjarne Stroustrup, "The C++ Programming Language, second edition"
   (Reading, Mass., Addison-Wesley, 1991)
<<<<<
Unquote

And finally, I mention the textbook of the class, Allen I. Holub,
"C+C++" (New York, McGraw Hill, 1992). In this book, Allen shows how to do
OOP in C without any benefit of extensions designed to facilitate the OOP
idiom and then goes on to describe C++ with the accuracy and some of the
depth of a compiler writer. (BTW, Allen also teaches a compiler class.)

Hope that gets you started.






Author: jimad@microsoft.com (Jim Adcock)
Date: 01 Jul 93 18:40:49 GMT
Raw View
In article <1993Jun30.141319.212@rcmcon.com> rmartin@rcmcon.com (Robert Martin) writes:
|To top the list off you should get "The Annotated C++ Reference
|Manual" by Margaret Ellis and Bjarne Stroustrup  (the ARM).  This is a
|reference book and is the ANSI base document.

Rather, it is one of two base documents.  The other base document is:

"Programming Language -- C"
ANSI X3.159-1989
American National Standards Institute, Inc.
1430 Broadway, New York, New York 10018

The less formal nature of a *reference manual* -- which is what
ARM is -- needs to be contrasted with the more formal nature of
a *standards* document -- which is what ANSI X3.159-1989.  Much of
the ARM informal language can only be begun to be understood when
read in the light of ANSI X3.159-1989.  Further, the ANSI-C document
also contains the wonderful "Rationale" section, which places
the development of a C language standard in context.

I only hope the ANSI/ISO C++ committee produces a *standards* document
half the quality of ANSI C by the time they are done.  Central to
the purpose of a standards document is clear statements of conformance:
you need to be able to clearly ask: "to what extent is this program
conforming" and/or "to what extent is this compiler implementation
conforming" -- questions that the ANSI C document does a generally
very good job of answering, and where the less formal nature of the
ARM falls well short.




Author: jheath@CERIS.Purdue.EDU (Jim Heath)
Date: Tue, 29 Jun 1993 06:26:07 GMT
Raw View
This may be a FAQ, but is there a "best" book for learning C++?  I
recently purchased BC++ and would like some sort of tutorial book (or
program).

I have taken several classes using Pascal in the past and I know a little
C.  Should I study C more first, or go on with C++?

Thanks for any info.
--
"Land of song, said the warrior bard,           Jim Heath
Though all the world betrays thee.
One sword, at least, thy rights shall guard, (The Minstrel Boy)
One faithful harp will praise thee."         (Thomas Moore)




Author: rmartin@rcmcon.com (Robert Martin)
Date: Wed, 30 Jun 1993 14:13:19 GMT
Raw View
jheath@CERIS.Purdue.EDU (Jim Heath) writes:

>This may be a FAQ, but is there a "best" book for learning C++?  I
>recently purchased BC++ and would like some sort of tutorial book (or
>program).

To start Get "C++ Primer", Second Edition by Stan Lippman,  Follow
this up with "The C++ Programming Language", Second Edition by Bjarne
Stroustrup.  Finally get "Advanced C++ Programming Styles and Idioms"
by James O. Coplien.

These three, taken in the order specified, will thoroughly teach C++,
starting at the atom and ending with the state of the art in C++
programming.

To top the list off you should get "The Annotated C++ Reference
Manual" by Margaret Ellis and Bjarne Stroustrup  (the ARM).  This is a
reference book and is the ANSI base document.


--
Robert Martin       | Design Consulting   | Training courses offered:
R.C.M. Consulting   | rmartin@rcmcon.com  |   Object Oriented Analysis
2080 Cranbrook Rd.  | Tel: (708) 918-1004 |   Object Oriented Design
Green Oaks IL 60048 | Fax: (708) 918-1023 |   C++