Summary:
In this article, Scott Meyers shares his picks for the five most important books in the history of C++, along with why he chose them.
The ability to add new comments in this discussion is temporarily disabled.
Most recent reply: January 11, 2019 11:09 PM by
harshak
|
I was going to say Lippman's C++ Primer -- thanks Chuck Allison.
I would like to add two more to the list: Exceptional C++ by Herb Sutter and The Design and Evolution of C++ by Bjarne Stroustrup
Yes, Exceptional C++ does focus on exceptions, but you'll learn a lot more about writing solid code and how C++ works in much greater detail from this book than any other.
The reason I like "The Design and Evolution of C++" is because it focuses on how we got here with C++. Why is it the way it is, not what it is. Often, when you understand the reasons the designers made their tradeoffs gives you a much better understanding of the language. You can empathies with their choices based on whatever constraints they had, and it's actually easier to remember facts about the language when you have context around the decisions.
|
|
|
I agree with Scott's choices and was happy to see that modesty did not prevent him from including his own "Effective C++", a book that would be great even without the benefit of being in the right place at the right time.
I don't know if it should be in the top 5, but I think "Accelerated C++" by Andrew Koenig and Barbara Moo is a very important book. It shows a quick (but thorough) path to productive C++ that is unmatched. Two lessons I took away are 1) learning C is not necessary for a good start with C++ and 2) not everything is an object.
|
|
|
Why Lippman's C++ Primer is not on Scott's list, while it is a must-read for almost all of the C++ guys?
to Glenn: thanks for your work and well done! but, honestly, your coding style of class member access specifiers may be a little weird to somebody :P
|
|
|
I'm with zhiyizhang here. I'd be inclined to drop "Design Patterns" on the technicality that it is not specific to C++, and include Lakos. He was the first (and only?) to define principles for creating large code-bases - a very different problem to writing programs.
|
|
|
I'm sure it didn't have the impact of many of the books mentioned here so far, but one of the most important books for me was Allen Holub's C + C++: Programming with Objects in C and C++. As a long time C programmer wanting to learn C++, I had read other tutorials, but this book really bridged the gap for me. I will always think of it as the most important C++ book that I have read. Without it, I would have had a much harder time understanding these others.
|
|
|
> Given Scott's no-production background, it's no suprise > that he didn't mention Large-Scale C++ Software Design, > which I think is a must-read for any large scale C++ > software development.
Just to clarify, I have no background in producing production code in C++ (though today I got email from a former consulting client challenging that claim), but I did work as a software engineer for a few years writing production code (primarily in Pascal). As for Lakos' book, I think it's a fine book with very useful information not available elsewhere, but, in my view, it never really had a significant impact on the field. That may be a shame, but lots of good books have been published that didn't have the impact they perhaps should have. That's just the way things go sometimes.
|
|
|
My 5 books concerning this very impressive prog lang are:
1) The C++ Programming Language by BS - There is no escaping - you have to read this book to understand the foundations of C++
2) The Design and Evolution of C++ by BS - Important background information. Why C++ is like it is.
3) Effective C++ by Scott Meyers - Offers best practives to keep in mind so that you may master this hard language.
4) Exceptional C++ by Herb Sutter - Shows that it is not so easy to handle try-catch gotchas...
5) Modern C++ Design by Andrei Alexandrescu - If you want to be Muad'Dib of C++, read this and you will not be the same person any more... ;)
|
|
|
hello!!!!!!!!!!!!!!SOS,please help me i want to study c++,and c++ class so i want to have some good books like C++ Effective Object-Oriented Software Construction but i am in china and there is no english one,and i don not know where i can find it or download . so please help me
|
|
|
> hello!!!!!!!!!!!!!!SOS,please help me > i want to study c++,and c++ class > so i want to have some good books > like C++ Effective Object-Oriented Software Construction > but i am in china and there is no english one,and i don > not know where i can find it or download . > so please help me http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
|
|
|
The Annotated C++ Reference Manual Effective / More Effective C++ STL Tutorial and Reference Guide Inside C++ Object Model Modern C++ Design InfomIT Article by Danny Kalev
|
|
|
"Advanced C++ Programming Styles and Idioms", 1991. Coplien. (called "Acid" because the cover was a particular shade of purple, and it expanded the mind)
It was unique, in that the use of pure virtual classes, concrete types, and static singletons as factories, were not only introduced, but elucidated with practical examples which are still valid today.
Templates were not yet part of the language, but at the earliest stage, it showed how C++ could be used to create classes in practice, and as such it is the most essential, practical and complete introduction to object oriented programming, ever.
|
|
|
I'm still 'learning' C++. I own a couple books on the list. I think his (Scott's) book 'Effective' should remain on HIS list because it contains 20% OR LESS material about the standard C++ library. These huge C++ books (1000+ pages) would be more 'important' if the content was divided into two separate volumes -- Volume I would be C++ the language (1000+ pages). Volume II would be Standard Library (1000+ pages) The problem is a lot of the C++ books for sale seem to target High School students on up.
|
|
|
Oh! The Most Important C++ Book...Ever-- C++ Concurrency IN ACTION. It's a whole book on one part of the standard. Also, since I bought it and haven't read it yet, I can't say anything bad.
|
|
|