home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / cplus / 11767 < prev    next >
Encoding:
Text File  |  1992-07-29  |  6.6 KB  |  158 lines

  1. Newsgroups: comp.lang.c++
  2. Path: sparky!uunet!microsoft!hexnut!jimad
  3. From: jimad@microsoft.com (Jim Adcock)
  4. Subject: Re: Good C++ Book
  5. Message-ID: <1992Jul29.195458.15810@microsoft.com>
  6. Date: 29 Jul 92 19:54:58 GMT
  7. Organization: Microsoft Corporation
  8. References: <fdJf03d045Sw00@amdahl.uts.amdahl.com>
  9. Distribution: usa
  10. Lines: 146
  11.  
  12. In article <fdJf03d045Sw00@amdahl.uts.amdahl.com> trip@amdahl.uts.amdahl.com (Tripatinder Chowdhry) writes:
  13. |I am starting to program in C++.  I would appreciate if someone could
  14. |suggest a good C++ book.  I consider my self to be an intermediate
  15. |C programmer. I would like to consider a book with lot of examples
  16. |something similar to "A Book On C".
  17.  
  18. My general advice for someone with "C" experience is simply to get the
  19. best possible C++ book[s] and then fast-forward through those sections
  20. that describe features that [almost] work like "C"
  21.  
  22. ======
  23.  
  24.  
  25.  
  26.  
  27.  
  28.         A Short List of Preferred C++ Texts
  29.  
  30. With the size of the C++ community continuing to double about every
  31. nine months, many C++ programmers haven't had a chance to complete
  32. their C++ bookshelf.  The below "Short List" of C++ texts attempts
  33. to list favorite C++ texts in many categories, in approximately the
  34. order a new C++ programmer might wish to acquire the texts.  A few good
  35. texts don't appear in this list because they closely overlap other,
  36. more preferred texts in this list.  Specialized texts, not applicable 
  37. to most C++ programmers are not listed here, primarily because I have
  38. not read all, but also because this is intended to be a "short list."
  39.  
  40. Teach Yourself C++ 2nd Ed, Stevens, MIS Press 1990, ISBN 1-558-28027-8
  41.     A raw neophyte should be able to breeze through this text
  42.     and example software in about a day. [I've heard some
  43.     complaints about this book, but its the best
  44.     *really simple* one I've seen.  If you don't want a
  45.     *really simple* overview of the language, skip to the
  46.     following texts]
  47.  
  48. [The following three texts tend to overlap some aspects of each other
  49.  considerably.  If you are only going to buy one, maybe get 
  50.  "The C++ Programming Language" since it contains a copy of
  51.  the reference manual [minus the annotations].  If you can only
  52.  buy two maybe get the Lippman and The Annotated C++ Reference Manual,
  53.  because the annotations tend to help explain the design of the 
  54.  language a lot.  But, buy all three if you can stand it!
  55.  Each has something unique to offer.]
  56.  
  57. C++ Primer 2nd Edition, Lippman, Addison-Wesley 1991, 0-201-54848-8
  58.     Historically, the most common text to learn C++ from.  Great 
  59.     coverage of multiple inheritance.  Great coverage of templates.  
  60.     Very readable.
  61.  
  62. The C++ Programming Language Second Edition, Stroustrup, 
  63.     Addison Wesley 1991, 0-201-53992-6
  64.     The newest text from the creator of the language.  Also includes
  65.     the reference manual.  [But, get Ellis and Stroustrup's 
  66.     "The Annotated C++ Reference Manual" if you want a *really*
  67.     "complete" reference.]  Written at a fairly high level -- Lippman
  68.     probably makes for a little easier reading.  Serious C++ 
  69.     programmers will want to read this -- at least to get a better idea 
  70.     of where Stroustrup is coming from.  Good coverage of templates and
  71.     exceptions, and lots of *practical* advice on how to get C++
  72.     to work on real projects.
  73.  
  74. The Annotated C++ Reference Manual, Ellis & Stroustrup, Addison-Wesley 1990
  75.     0-201-51459-1.  Much more than you ever wanted to know about the
  76.     intimate details of the language, and why.  Today's "definitive"
  77.     answer about what is, or isn't in the language -- excepting 
  78.     [relatively small?] changes coming from the ANSI committee.
  79.  
  80.  
  81. Effective C++, Scott Meyers, Addison-Wesley 1992 0-201-56364-9
  82.     Fifty gems of wisdom that every C++ programmer needs to
  83.     know and follow.  Covers probably 90% of the questions that
  84.     are asked on comp.lang.c++
  85.  
  86. The C++ Answer Book, Hansen, Addison-Wesley 1989, 0-201-11497-6
  87.     Lots of good, small, ADT-like examples of C++ programming.
  88.     The best reference on how to write little classes like Int,
  89.     string, vector, etc.  Written to be used with Stroustrup's
  90.     original 1st edition of "The C++ Programming Language" this 
  91.     needs to be updated to correspond to Stroustrup's second edition....
  92.     ....Something Hansen has been promising forever.
  93.  
  94. A C++ Toolkit, Shapiro, Prentice Hall 1991, 0-13-127663-8
  95.     Similar to Hansen, but at a little easier reading level.
  96.     [I haven't decided which I like more.  Let me know which
  97.     you prefer.  People who want to see lots of C++ programming
  98.     examples should get both.]
  99.  
  100. Advanced C++ Programming Styles and Idioms, Coplien, Addison-Wesley 1992
  101.     0-201-54855-0  Coplien describes how to write higher order abstractions 
  102.     using C++.  Examples include reference counting,
  103.     wrapper classes, objects that act as functions,
  104.     "Self"-like and "Smalltalk"-like programming styles, etc.
  105.     Its refreshing to have a new C++ book written at 
  106.     a higher level!
  107.  
  108. C++ Programming Guidelines, Plum and Saks, Plum Hall, '1991'
  109.     [actually just becoming available now?] 0-911-537-10-4
  110.     Best [relatively] "egoless" description of how people
  111.     in the C++ community commonly write code.  The best
  112.     place to look for programming convention descriptions.
  113.     Great source of practical advice.  Much more and much
  114.     better than "C Programming Guidelines," if you've seen
  115.     that.  
  116.  
  117. Data Abstraction and Object Oriented Programming in C++,  
  118.     Gorlen, Orlow & Plexico, John Wiley, 0-471-92346-X
  119.     The best reference on how to write big, "Smalltalk-like" 
  120.     classes relying on polymorphism, a common base class, 
  121.     dynamic type casting, etc.  Read this one *before* you
  122.     argue on comp.lang.c++ about the "best" way to do 
  123.     store/restore, dynamic type casting, etc.  Gorlen did
  124.     it first -- and better than most.  [I suggest Coplien's
  125.     book before Gorlen, lest programmers from other
  126.     OOPL backgrounds fall into the trap of thinking the
  127.     "Smalltalk"-like approach "is the only way to fly."
  128.  
  129. Good and Easy OOP books, which also have tie-ins to C++:
  130.  
  131. An Introduction to Object-Oriented Programming, Budd, Addison-Wesley 1991,
  132.     0-201-54709-0.  An excellent, and pleasantly unbiased introduction
  133.     to OOP, covering a number of languages including C++.
  134.  
  135. Object Oriented Design with Applications, Booch, Benjamin/Cummings 1991,
  136.     0-8053-0091-0.  The most widely regarded text about what it means
  137.     to design object oriented software.
  138.  
  139. Object Orientation: Concepts, Languages, Databases, User Interfaces,
  140.     Khoshafian & Abnous, John Wiley 1990, 0-471-51801-8.  A survey
  141.     of the object oriented world, and the best description of
  142.     databases and issues of object identity.
  143.  
  144. Supplemental Readings:
  145.  
  146. USENIX C++ Workshops and Conferences
  147. OOPSLA Conference Proceedings
  148. The C++ Report
  149. Journal of Object Oriented Programming
  150. comp.lang.c++
  151. comp.std.c++
  152. bix
  153. comp.object [if one has lots of time to waste]
  154. working papers of the ANSI-C++ committee
  155.  
  156. Good Luck!
  157.  
  158.