I just wanted to know people's opinion on C++ Primer Plus by Stephen Prata. Almost every site I go to, everybody recommends C++ Primer and advice against C++ Primer Plus without any explanation. I've had Primer Plus for a long time now and I wanted to hear other people's opinions. Thanks
If I remember right, I read somewhere that in the book, it says not to use zero initialized for loops for(int i =0; i < num; i++), but rather use for(int i = 1; i < num; i++). The problem is that after saying that, they use the method they say not to use in different parts of the book. Just little things like that from what I have found.
Just a note I am only familiar with the fourth edition of the book I have not read any of the later editions.
C++ Primer Plus has gotten bad reviews for teaching outdated C++ practices. One of the big ones in my mind is that it sticks to the old fashion thinking that you need to learn C before you learn C++.
The author in my opinion also does a horrible job of filtering information. What I mean by that is the author goes into so many subjects in the beginning that it can confuse a beginner very easily and most of that information isn't relevant at that time.
The flow of the book was also off for me. It seems like the author just decided to throw a bunch of things in here and there without no overall plan.
I am not sure if the author has fixed these flaws in the new editions but I much prefer the modern and respected C++ Primer over C++ Primer Plus.
So to break it down for me these are the main points as to whats wrong with C++ Primer Plus.
1. It uses out of date teaching of C++. It assumes you need to know C before you can learn C++ (Books like Accelerated C++ have shown this to not be the case).
2. The author throws in so much random information in the beginning that the student doesn't need to know at that time. This just adds to the confusion of a beginner for no reason.
3. The book seems to have no overall plan. A good beginner book in my opinion should have a structured plan for how the book teaches programming to the reader. This book is lacking that, and seems to just throw in random information everywhere just because the author knows it.
I agree with the points you presented especially the last point. The book is filled with a lot of information, some relevant and some not. Also I noticed that the author uses a lot of character arrays to collect strings, (Thats C style right?).
Correct, this would be the C way of doing things. Though it is still prevalent in many C++ codebases. Though don't get me wrong there are still times where a C style string will be better. Though when teaching someone C++ that has little to no experience I find it helps to use std::string to simplify things until they get the hang of it and then teach them about C style strings and the lower level details.
Wow, I got the 5th editions of this book several years ago and I wish I got your thoughts before I purchased it.
Would you guys recommend a switch to something better? Is C++ Primer good? I heard
Bjarne Stroustrup makes great books as well. Which one of his is the best? A beginner to advanced text.
One thing I liked about Primer Plus was that it gradually moved the lessons along from beginner to advanced. It never made you a guru over night, but it gave you a taste of advanced topics that the language had to offer.
At the bottom of that page they recommend a set of books. I own all but the Programming Principles and Practice Using C++ because I believe a new edition of it is scheduled for release in May 2014.