Didn't the C++ Books thread mention any?
WaltP
Posting Sage w/ dash of thyme
11,404 posts since May 2006
Reputation Points: 3,421
Solved Threads: 1,055
Skill Endorsements: 36
well for "BEST" this would be very subjective
zeroliken
Nearly a Posting Virtuoso
1,346 posts since Nov 2011
Reputation Points: 214
Solved Threads: 205
Skill Endorsements: 13
If there was a "BEST", there's be only one. We wouldn't need the rest because they'd all be crap.
WaltP
Posting Sage w/ dash of thyme
11,404 posts since May 2006
Reputation Points: 3,421
Solved Threads: 1,055
Skill Endorsements: 36
I am expecting an answer from an kind of a expert who have read multiple books .
The main problem with this is that you don't become an expert by reading books after books on C++ (I think I have maybe read, partially, about 3-4 books on C++, and all were the more advanced books from the "C++ In-Depth" series, i.e., expert-level books). You become an expert by spending years honing the craft. Maybe some of the experts here started their learning journey by reading one of those "beginners" book many years ago, but they have long since moved on. Safe to say, I'm an expert in C++, but I have never read a beginner's book. I started fiddling with programming on another "easier" language (Delphi), and when I switched to C++ (many years ago), a beginner's book was of little use to me.
The best I can do to help you is convey hearsay about recent readers having said "I learn C++ using book X, and it was really good.", and skim through tables of contents or the books themselves and assess whether it seems well written and has the right stuff in it. In that perspective, the C++ Primer (4th or 5th edition) are highly recommended. What you want to look for is who the authors are. You need authors that are knowledgeable, experienced, and have written a lot of such educational material before. In that respect, C++ Primer has a stellar track-record. And, of course, the catchier the title, the worse the book is, usually. And, from those criteria, the list gets pretty short:
- "C++ Primer, 5th Edition": Well written, well structured, has lots of examples and exercises, good authors, and no hidden agenda (or programming philosophy to convey), just straight-forward "learn to do stuff" approach.
- "Accelerated C++": Original in its approach, very to the point, stellar reviews, recommended authors, and very complete. The drawback is that it is getting a bit old now.
Books that are tempting, but not good enough in my opinion:
- "Starting Out with C++:..": This seems like a reasonably good book, at least, as a pedantic university course textbook on C++. However, it has way too much focus on C-style mechanisms that are good to know, but not very useful in C++. In other words, it is not a practical learning approach at all. The table of contents exactly reflect what I would expect an old professor (who is more of a native C programmer, with some acquaintance with C++) to use for his C++ course-work.
- "Thinking in C++": This series is not really aimed at beginners because it doesn't use a practical approach at all, it is mostly about certain philosophy or lessons learned about to way to approach problems in C++. Might be a good second book, to lean you into the world of software engineering.
- "Practical C++ Programming": I think the intended title for this book is "Practical C Programming", they must have made a typo in the title. IMO, don't get near this book.
- "C++ Primer Plus": This isn't a book for absolute beginners, but if you have some acquaintance with basic programming logic (e.g., you "understand" programming and have dabbled with a few simple languages like C or Matlab), then it could be a good fit for you.
- "Programming And Problem Solving With C++": This is very similar to "Starting Out with C++:..", it is a pedantic course-work textbook, written by university professors to teach programming fundamentals via C++. Not practical, no good for beginners, and it is also a C programming book in disguise.
And that covers most of the top 30 or so books (and editions) on C++ on amazon. So, I hope that narrows it down for you.
I will mirror this list on the appropriate thread (C++ Books).
mike_2000_17
21st Century Viking
3,135 posts since Jul 2010
Reputation Points: 2,050
Solved Threads: 625
Skill Endorsements: 41