[comp.lang.c++] C++ Books: Comments and Recommendations, WANTED

dks@apple.com (D. K. Smith) (10/10/90)

Hi all,

Due to the flood of C++ books out there, I figured I would
ask for the net opinion on favorable, useful, and useless books 
on the topic.
--------------

I've heard the C++ book by Weiner & Pinson was not very good. True?

People say Stroustrup's first book on C++ is analagous to K&R in its 
terseness and readibility - which is not a bad thing depending on 
whether you need a reference or a tutorial. Is this accurate???


Any comments on the following:

_C++ for Pascal Programmers_ - Pohl??
_C++ for C Programmers_

I looked at these books and they look identical! Except of course for the 
first couple chapters bridging the gap between Pascal and C type decls and
defs. Also (get this) the C version (the hip model) was 28.95, while the (not
so cool) pascal version (with 2-3 extra chapters) was 24.95. Check it out!


Or what about Bruce Eckel's _Using C++_? Any comments on this one?


Any experiences with _The Annotated C++ Reference Manual_   
by Ellis & Stroustrup  ??

It looked "totally" complete. But you can't judge a....


And what about the Mac specific titles...

_Elements of C++ Macintosh Programming_   by Weston.
_C++ Programming with MacApp_   by Wilson, et.al.


Also, any good / bad experiences with any other titles out there?

Please reply to me directly. I don't want to clog up the other business 
in this newsgroup with book reviews!


thanx,
dk

jimad@microsoft.UUCP (Jim ADCOCK) (10/16/90)

In article <45531@apple.Apple.COM> dks@apple.com (D. K. Smith) writes:
>
>Hi all,
>
>Due to the flood of C++ books out there, I figured I would
>ask for the net opinion on favorable, useful, and useless books 
>on the topic.

The question of books comes up every month or two.  Note that there are
dozens of "C++" books on the market nowadays, that run the full gamot of
quality.  The short short answer remains very simple:

Lippman "A C++ Primer"

still the preferred text for most people's everyday use.  Before posting
to the nets "the facts" about C++, people should consult:

Ellis & Stroustrup "The Annotated C++ Reference Manual"

which is as close to a definitive answer to what the language is that we have,
at least until the standardization committee publishes something.  Total C/C++
neophytes might do well to spend a day or two breezing through the 
programming examples of:

Stevens  "Teach Yourself C++"

For a historical reference to the origins of the language consider:

Stroustrup "The C++ Programming Language"

--but please don't consider it a reliable source for the fine grained details
of the language!  People who post "facts" from the original manual do us
all a disservice.  Consult instead Stroustrup's writings in "ARM" to get
his current statements of what the language is.  Use the original manual:
"The C++ Programming Language" to find out "what it use to be."  

Along with this manual is an excellent text of worked examples:

Hanson "The C++ Answer Book"

Which contains "correct" examples of how to write Int classes, Strings etc.
[many other texts get these "simple" things wrong,  sigh.]  Hanson's text 
concentrates mainly on how to write "simple" useful stand-alone classes.
The other extreme is the excellent recent addition:

Gorlen etc. "Data Abstraction and Object Oriented Programming in C++"

which describes Gorlen's NIH [NIHCL, OOPS] classes, their use, and their
development.  These classes are the "grand scheme" approch ala' Smalltalk
where all classes inherit from a common base class.  

Two other books of general interest, not restricting themselves to C++
[and in fact, their C++ examples have problems] are:

Booth "Object Oriented Design"

covering design methodologies for object oriented programming, and

Khashafian and Abnous "Object Orientation...."

which is an excellent OOP survey book, and also the place to read for issues
of identity, persistence, databases, etc...

There are other good books that closely overlap this list which I do not 
mention.  There are good books targeted to specific audiences that I do not
mention.   And there are lots of "C++" books out there written simply to
capitalize on the rapidly expanding C++ market.  The above list is not
recommended lightly -- I've read almost all C++ books for the general market
that were not transparently bad just from looking at a few pages [And I've
read a lot of books that were transparently bad just because they were
some of the first to market]

Also, note that Jean Chrtistophe publishes a reasonably complete list of
C++ books once a month.

ajp@hpopd.HP.COM (Andy Pearce) (10/19/90)

jimad@microsoft.UUCP (Jim ADCOCK) responds ...

|Two other books of general interest, not restricting themselves to C++
|[and in fact, their C++ examples have problems] are:
|
|Booth "Object Oriented Design"
|
|covering design methodologies for object oriented programming, and

I haven't seen this one, although I am reading a book by Grady Booch on
the same subject.  If this is the book you mean, can you tell us what
problems you see with C++ in the examples?

|Khashafian and Abnous "Object Orientation...."
|
|which is an excellent OOP survey book, and also the place to read for issues
|of identity, persistence, databases, etc...

This looks interesting.  Do you have the full title, or ISBN ?

--ajp		ajp@hpsesuka.hp.com

jimad@microsoft.UUCP (Jim ADCOCK) (10/23/90)

In article <8410004@hpopd.HP.COM> ajp@hpopd.HP.COM (Andy Pearce) writes:
|jimad@microsoft.UUCP (Jim ADCOCK) responds ...
|
||Two other books of general interest, not restricting themselves to C++
||[and in fact, their C++ examples have problems] are:
||
||Booth "Object Oriented Design"
||
||covering design methodologies for object oriented programming, and
|
|I haven't seen this one, although I am reading a book by Grady Booch on
|the same subject.  If this is the book you mean, can you tell us what
|problems you see with C++ in the examples?

Booch claims his mistakes are corrected in the second printing, so you
may look to see what printing your copy is.  On first printings both books
had the same problem with their examples:  member functions that were suppose
to be polymorphic accepted parameters declared as pass-by-value, rather than
pass-by-reference.  This leads to the well known "slicing problem" were 
any additional members defined in derived classes are not copied across the
interface, but rather are "sliced off" the end of the object.

[ A smart C++ compiler would always issue a warning when an object with 
 virtual functions is passed-by-value ]

||Khashafian and Abnous "Object Orientation...."
||
||which is an excellent OOP survey book, and also the place to read for issues
||of identity, persistence, databases, etc...
|
|This looks interesting.  Do you have the full title, or ISBN ?

"Object Orientation: concepts, languages, databases, user interfaces"
Setrag Khoshafian & Razmik Abnous
John Wiley & Sons 1990
ISBN 0-471-51802-6
ISBN 0-471-51801-8 (pbk)
433 pages, $29.95