I am new to this group, and want to buy a C++ book to learn from.
I am an experienced C programmer, and have read a few articles on C++ and C++ examples. I started reading the Turbo C++ "Getting Started" book, but it was too slow, without a clear focus. I have Unix Gnu G++ and Turbo C++.
I don't like a book which talks down to me, and prefer books which give intelligent explainations with some code fragments and a few big examples.
I am going to the the book store and buy a book. Are there any books I should be sure to look at or stay away from? There are so many. I have read the C++ products/book list, but it has no recommendations.
Thanks Much.
-- Bruce Momjian | 830 Blythe Avenue | home: (215)853-3000 r...@candle.uucp| Drexel Hill, Pennsylvania 19026 | work: (215)353-9879
>>I am new to this group, and want to buy a C++ book to learn from. >>I am an experienced C programmer, and have read a few articles on C++ >>and C++ examples. I started reading the Turbo C++ "Getting Started" >>book, but it was too slow, without a clear focus. I have Unix Gnu G++ >>and Turbo C++. >>I don't like a book which talks down to me, and prefer books which give >>intelligent explainations with some code fragments and a few big >>examples. >>I am going to the the book store and buy a book. Are there any books I >>should be sure to look at or stay away from? There are so many. I >>have read the C++ products/book list, but it has no recommendations. >>Thanks Much.
A very nice book is "C++: Techniques and Applications" by Scott Robert Ladd. Since you already know C I think this a very good book for you to learn C++.
Try The C++ programming language, by stroustrup, 2nd edition.
I have the first edition and it seems adequate for your needs, since you are looking for compact descriptions. The 2nd ed. just came out and it is supposed to be very good (I don't have it, but I will).
*The* other good book I know is: "C++ primer" by lippman. Also the 2nd ed. just came out. This is more wordy, but good. I think any of these will do.
-- --------------------------------- * ----------------------------------- Agustin Gonzalez-Tuchmann Graduate student Dept. of Computer Science dbase-l list owner New Mexico State University Office: SH-165 P.O. Box 30001, Dept. 3CU Phone: (505) 646-6243 Las Cruces, N.M. 88003-0001 e-mail: agonz...@nmsu.edu
In article <410...@acf3.NYU.EDU> ad...@acf3.NYU.EDU (Andre Adler,,,) writes: >>>I don't like a book which talks down to me, and prefer books which give >>>intelligent explainations with some code fragments and a few big >>>examples.
>>>I am going to the the book store and buy a book. Are there any books I >>>should be sure to look at or stay away from? There are so many. I >>>have read the C++ products/book list, but it has no recommendations.
With the possible exception of the first book on the below list, which was deliberately included only because it is written at *such* a basic level, all the following books are written by very intelligent people with intelligent readers in mind. Nowadays there are tons of stinker C++ books on the market, many good one's, and a few great ones. The below attempts to list the few.
----
[Recent releases of 2nd editions of Stroustrup and Lippman has caused some changes to my list]
A Short List of Preferred C++ Texts
With the size of the C++ community continuing to double about every nine months, many C++ programmers haven't had a chance to complete their C++ bookshelf. The below "Short List" of C++ texts attempts to list favorite C++ texts in many categories, in approximately the order a new C++ programmer might wish to acquire the texts. A few good texts don't appear in this list because they closely overlap other, more preferred texts in this list. Specialized texts, not applicable to most C++ programmers are not listed here, primarily because I have not read all, but also because this is intended to be a "short list."
Teach Yourself C++, Stevens, MIS Press 1990, ISBN 1-558-28027-8 A raw neophyte should be able to breeze through this text and example software in about a day. [I've heard some complaints about errors in this book, but its the best *really simple* one I've seen. If you don't want a *really simple* overview of the language, skip to the following texts]
[The following three texts tend to overlap some aspects of each other considerably. If you are only going to buy one, maybe get "The C++ Programming Language" since it contains a copy of the reference manual [minus the annotations]. If you can only buy two maybe get the Lippman and The Annotated C++ Reference Manual, because the annotations tend to help explain the design of the language a lot. But, buy all three if you can stand it! Each has something unique to offer.]
C++ Primer 2nd Edition, Lippman, Addison-Wesley 1991, 0-201-54848-8 Historically, the most common text to learn C++ from. Great coverage of multiple inheritence. Great coverage of templates. Very readable.
The C++ Programming Language Second Edition, Stroustrup, Addison Wesley 1991, 0-201-53992-6 The newest text from the creator of the language. Also includes the reference manual. [But, get Ellis and Stroustrup's "The Annotated C++ Reference Manual" if you want a *really* "complete" reference.] Written at a fairly high level -- Lippman probably makes for a little easier reading. 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.
The Annotated C++ Reference Manual, Ellis & Stroustrup, Addison-Wesley 1990 0-201-51459-1. 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 -- excepting [relatively small?] changes coming from the ANSI committee.
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. When, Hansen?
A C++ Toolkit, Shapiro, Prentice Hall 1991, 0-13-127663-8 Similar to Hansen, but at a little easier reading level. [I haven't decided which I like more. Let me know which you prefer. People who want to see lots of C++ programming examples should get both.]
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.
Good and Easy OOP books, which also have tie-ins to C++:
[but don't consider these references on how to write C++ code!]
An Introduction to Object-Oriented Programming, Budd, Addison-Wesley 1991, 0-201-54709-0. An excellent, and pleasantly unbiased introduction to OOP, covering a number of languages including C++.
Object Oriented Design with Applications, Booch, Benjamin/Cummings 1991, 0-8053-0091-0. The most widely regarded text about what it means to design object oriented software.
Object Orientation: Concepts, Languages, Databases, User Interfaces, Khoshafian & Abnous, John Wiley 1990, 0-471-51801-8. A survey of the object oriented world, and the best description of databases and issues of object identity.
Supplemental Readings:
USENIX C++ Workshops and Conferences OOPSLA Conference Proceedings The C++ Report Journal of Object Oriented Programming comp.lang.c++ comp.std.c++ bix comp.object [if one has lots of time to waste]
In article <410...@acf3.NYU.EDU> ad...@acf3.NYU.EDU (Andre Adler,,,) writes: >>>I don't like a book which talks down to me, and prefer books which give >>>intelligent explainations with some code fragments and a few big >>>examples.
>>>I am going to the the book store and buy a book. Are there any books I >>>should be sure to look at or stay away from? There are so many. I >>>have read the C++ products/book list, but it has no recommendations.
With the possible exception of the first book on the below list, which was deliberately included only because it is written at *such* a basic level, all the following books are written by very intelligent people with intelligent readers in mind. Nowadays there are tons of stinker C++ books on the market, many good one's, and a few great ones. The below attempts to list the few.
----
[Recent releases of 2nd editions of Stroustrup and Lippman has caused some changes to my list]
A Short List of Preferred C++ Texts
With the size of the C++ community continuing to double about every nine months, many C++ programmers haven't had a chance to complete their C++ bookshelf. The below "Short List" of C++ texts attempts to list favorite C++ texts in many categories, in approximately the order a new C++ programmer might wish to acquire the texts. A few good texts don't appear in this list because they closely overlap other, more preferred texts in this list. Specialized texts, not applicable to most C++ programmers are not listed here, primarily because I have not read all, but also because this is intended to be a "short list."
Teach Yourself C++, Stevens, MIS Press 1990, ISBN 1-558-28027-8 A raw neophyte should be able to breeze through this text and example software in about a day. [I've heard some complaints about errors in this book, but its the best *really simple* one I've seen. If you don't want a *really simple* overview of the language, skip to the following texts]
[The following three texts tend to overlap some aspects of each other considerably. If you are only going to buy one, maybe get "The C++ Programming Language" since it contains a copy of the reference manual [minus the annotations]. If you can only buy two maybe get the Lippman and The Annotated C++ Reference Manual, because the annotations tend to help explain the design of the language a lot. But, buy all three if you can stand it! Each has something unique to offer.]
C++ Primer 2nd Edition, Lippman, Addison-Wesley 1991, 0-201-54848-8 Historically, the most common text to learn C++ from. Great coverage of multiple inheritence. Great coverage of templates. Very readable.
The C++ Programming Language Second Edition, Stroustrup, Addison Wesley 1991, 0-201-53992-6 The newest text from the creator of the language. Also includes the reference manual. [But, get Ellis and Stroustrup's "The Annotated C++ Reference Manual" if you want a *really* "complete" reference.] Written at a fairly high level -- Lippman probably makes for a little easier reading. 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.
The Annotated C++ Reference Manual, Ellis & Stroustrup, Addison-Wesley 1990 0-201-51459-1. 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 -- excepting [relatively small?] changes coming from the ANSI committee.
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. When, Hansen?
A C++ Toolkit, Shapiro, Prentice Hall 1991, 0-13-127663-8 Similar to Hansen, but at a little easier reading level. [I haven't decided which I like more. Let me know which you prefer. People who want to see lots of C++ programming examples should get both.]
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.
Good and Easy OOP books, which also have tie-ins to C++:
[but don't consider these references on how to write C++ code!]
An Introduction to Object-Oriented Programming, Budd, Addison-Wesley 1991, 0-201-54709-0. An excellent, and pleasantly unbiased introduction to OOP, covering a number of languages including C++.
Object Oriented Design with Applications, Booch, Benjamin/Cummings 1991, 0-8053-0091-0. The most widely regarded text about what it means to design object oriented software.
Object Orientation: Concepts, Languages, Databases, User Interfaces, Khoshafian & Abnous, John Wiley 1990, 0-471-51801-8. A survey of the object oriented world, and the best description of databases and issues of object identity.
Supplemental Readings:
USENIX C++ Workshops and Conferences OOPSLA Conference Proceedings The C++ Report Journal of Object Oriented Programming comp.lang.c++ comp.std.c++ bix comp.object [if one has lots of time to waste]
Good Luck!
/* ---------- */
Contrary to what it says at the top, I did not write that stuff about I don't like a book that talks down to me, etc... (though I do not disagree with that statement). I did respond to the person who wrote that if I recall correctly. He was looking for book recommendations and I recommended a book to him. Just setting the record ( or should I say class ) -): straight.
In article <74...@microsoft.UUCP> ji...@microsoft.UUCP (Jim ADCOCK) gives a fine list of book recommendations.
Not to open any religious discussion, please, but I would also include Bertrand Meyer's "Object-oriented Software Construction", Prentice-Hall (1988).
Half the book is on general principles of OO design and does not flog Eiffel unduly. Also, the other half of the book, using Eiffel (which is easy to read and could be regarded as an OO pseudo-code to the committed C++ programmer) gives a foretaste on templates (called "genericity" in the book) and exception handling (via pre- and post-conditions).