An ideal starting point to get a strong grasp of the fundamentals of C++ C++ is an object-oriented programming language commonly adopted by would-be programmers. This book explores the basic development concepts and techniques of C++ and explains the "how" and "why" of C++ programming from the ground up. You'll discover what goes into creating a program, as well as how to put the various pieces together, deal with standard programming challenges, handle debugging, and make it all work. Assuming no prior experience, Beginning Programming with C++ For Dummies is a fun and friendly guide to learning the C++ language. CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
This is a fantastic resource for anyone looking to dive into the world of C++. As someone with some coding experience, but not a ton in C++, I found this book to be an excellent primer on the language's terminology and syntax.
Davis' writing style is engaging and approachable, and the examples he provides are both relevant and effective. I appreciated how clearly he identified key terms and concepts, making it easy for me to follow along even as a relative newbie.
Overall, I highly recommend this book to anyone interested in learning C++. Whether you're a complete beginner or just looking to brush up on your skills, it is a valuable resource that won't disappoint.
I love programming books with a sense of humor. The analogies really bring the initially intimidating endeavour of programming, back to the real world. After all, abstraction is what software is all about. It's a refreshing change from the usual textbook read.
This book got me into programming. And I'm still writing software, 8 years later.
If you're interested in learning to code C++ but you aren't sure where to start (like me a few weeks ago), I hope my review can help you decide whether this book will help you or not.
First, you need to take your needs into account. Stephen Davis (the author) isn't great at explaining concepts to people like me, but he might be just fine for you.
I am a person who always has a ton of questions and I often find cursory explanations to be unsatisfying. Stephen regularly marginalized things that I felt I needed to know. After reading the book I had a text file full of questions that I feel the book should have done a better job of answering.
For example, he never fully explains when to enclose a string in single quotes (apostrophes) or double quotes. I looked it up online and found that there is a difference, but Stephen never gave any satisfactory guidance in the form of an explanation.
Following his example code perfectly does "show" you the proper way of coding, but if you truly have zero experience with any programming languages you won't catch the little mistakes in the code. In one snippet there were several lines that had two semi-colons at the end of them--semi-colons being the "end line" symbol in C++ (and many other programming languages). That probably wouldn't cause any huge errors in the code, but it would certainly leave a complete novice confused and looking for an explanation of when to double-terminate a line of code and when it's not necessary.
To answer that question, and to be completely sure that I'm not confusing you, the answer is that the double semi-colons were a typo - any time you need a semi-colon at the end of the line you use just one. But to complicate things further, there is a legitimate time to use two semi-colons in a row that Stephen uses quite frequently, just not at the end of the line.
Besides the minor mistakes in the source code, the book had several other minor typos. Sometimes it looked like blocks of text were copied and pasted in with the intention of making minor changes between the two blocks of text, but someone forgot to make all of the minor changes and it ended up being confusing. For example:
What it should say: Idea ALPHA is used when you need to do task BRAVO. Idea CHARLIE is used when you need to do task DELTA. But they would have: Idea ALPHA is used when you need to do task BRAVO. Idea ALPHA is used when you need to do task DELTA.
These little oversights can cause a lot of frustration in trying to figure out exactly what you should be learning. Most of the time you can figure out from the context what mistake the author might have made, but sometimes the existence of those little oversights make you question whether you're not reading something right or the book contains an error that is confusing you.
With all of that negativity out of the way, here's the true bottom line:
If you are an intelligent person that is able to overlook little mistakes here and there and extrapolate ideas well, and you're not the type of person that is bothered by details and is content to push through content at someone else's pace without getting tripped up by questions that may or may not come up, this is a decent book to teach the most basic basics of the C++ language along with beginner code-writing principles.
I have read other introduction to code books (I read one fifteen years ago for Visual Basic) that were better written than this one, but with my experience writing code I was able to get through this one without too much damage being done and I feel like I am able to understand the concepts behind C++ syntax and methods on a very basic level. I enjoyed some of the author's humor, and I did learn quite a bit that I had struggled to learn in the past. I do not yet feel prepared to write any useful applications, but the book doesn't really claim to be able to prepare you for that.
I am using this book as the first step in my education. I intend to follow it up with a true textbook intended for use in classrooms (Object-Oriented Programming in C++, Fourth Edition, by Robert Lafore). I'll come back and review this mammoth of a book (over 1,000 pages) when (or if) I finish it. If nothing else, I expect this next book to be better edited.
This is a book I'll be perusing and skimming through. I have almost zero interest in software development anymore. I've been there, done that, things got about 600 times more complicated and then I decided I'd be better off doing something else rather than swearing at my code and drinking far too much coffee.
So after I'm done, don't expect that I'll be a guru on things C++!
Edit: Yup. After reading this I'm 100% certain that I no longer want to do much of anything with software development anymore!