The C++ and programming books I recommend
bert-hubert.blogspot.com
bert-hubert.blogspot.com
Better learning path:
- A Tour of C++, Bjarne Stroustrup
- The C++ Programming Language, 4th Edition, Bjarne Stroustrup
- Programming: Principles and Practice Using C++, Bjarne Stroustrup
- The Design and Evolution of C++, Bjarne Stroustrup (how C compatibility got to influence C++'s design)
Additionally read everything you can from Andrei Alexandrescu and Scott Meyers.
Then maybe, read The C Programming Language.
In my opinion the ternary operator is misused here when an if/else would have been clearer.
If you know C already, the pace of the book is so slow that you'll lose interest.
Stroustrup's The Design and Evolution of C++ is another great "why" book, and I hope that Bjarne will decide to update it for C++11 or 14.
It's older, but reading Lippman's Inside the C++ Object Model is what finally made the language click for me.
- Sutter's Exceptional C++ books
- Dewhurst's C++ Common Knowledge and C++ Gotchas are useful.
- Sutter/Alexandrescu's "C++ Coding Standards" is good, too.
http://www.parashift.com/c++-faq/
A book I like is C++ Primer.
In any case, this list on SO is pretty cool. http://stackoverflow.com/questions/388242/the-definitive-c-b...
The syntax of a language is fairly easy to grasp, and I think the more important thing is to learn how people use the language, what are the pitfalls you're likely to encounter, and how to code around them. Essentially a "best practices" guide.
It's great that C++ has these books. With some other languages its not obvious what the "best practices" books are or there don't seem to be any.
For coding in C#, Framework Design Guidelines[1] is an excellent book. I'd argue that with a little adjustment for conventions, it applies to Java too - and IMHO Java is in more need of the advice, as test-oriented code can lead to unwieldy, overcomplex APIs, a tendency that needs tempering.
[1] http://www.amazon.com/Framework-Design-Guidelines-Convention...
Maybe some languages would only need a pamphlet.
I think that any language that reaches the enterprise mainstream, suffers from the "creativity" of enterprise architects.
Wow, that's bad advice.
Since it's a little old now, can anyone tell how well it still stands up today? Are there any rules/guidelines from the book that are outdated?
[1]http://see.stanford.edu/see/courseinfo.aspx?coll=11f4f422-56...
http://stackoverflow.com/questions/388242/the-definitive-c-b... is probably the most comprehensive list right now.
It also only supports Mac(Xcode) and Windows(VB) but I would like to use something like Qt-Creator on Linux.
I think that using the Primer to learn programming would be a hellish experience but then learning C++ as a first language is never going to be fun.