home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / lang / cplus / 18563 < prev    next >
Encoding:
Text File  |  1992-12-30  |  5.9 KB  |  137 lines

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