Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
Programming: Principles and Practice Using C++ (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Windows 10 For Dummies Video Training
Get up to speed with Windows 10 with this video training course from For Dummies. Learn more.
Frequently Bought Together
Customers Who Bought This Item Also Bought
Top Customer Reviews
I think this is an ideal book for Programming I class as well.
It covered the topic well organized and detailed for someone to follow them in a classroom or by themselves. Notice that some people will prefer C++ Primer.
If you have C++ The Programming language, you will not gain anything major with this book. If you already know C++ and have solid concepts about programming, this is not a book for you.
My review is for someone that will start programming or will start c++. for this, I give the book 5 stars.
In my opinion, Dr. Stroustrup has aptly complimented his tour de force of The C++ Programming Language, 4th Edition with this wonderful rewrite of "Programming: Principles and Practice Using C++". Aimed squarely at the complete novice it is at once a remarkably approachable, yet highly thorough introduction to the craft of software programming that also just happens to use C++ as it's language of choice.
Highly recommended as a first textbook on learning how to program software.
But if you want to learn programming, and if you have chosen C++ as your starting point, there are other reasons to read this book. This book doesn't merely teach you to code, but also a good deal of software design strategies, engineering concepts and principles and good taste. Yet, (and this is extremely rare), THIS BOOK IS NOT BORING. You can find good humor in many places in the book, not just at the beginning. Take this example from section 5.9:
"When you have written (drafted?) a program, it’ll have errors. Small programs do occasionally compile and run correctly the first time you try. But if that happens for anything but a completely trivial program, you should at first be very, very suspicious. If it really did run correctly the first time, go tell your friends and celebrate — because this won’t happen every year."
In short, this is a rare treasure. You get the feeling that Bjarne is standing in front of you and narrating for you, with his particular accent and his elaborate vocabulary. Read it, do the drills and exercises, and internalize it!
This book, however, may not be the greatest reference for C++. For that purpose, perhaps pick "The C++ Programming Language", from the same author. That book is not quite as fun to read from cover to cover, but a more handy reference. That said, if you invest time in reading this book ("Programming...") and doing the exercises, it can very well become the reference you can rely on, basically because you learned the language features from it.
SNEAKY EDIT: The header file was updated today (June 8) and now the examples compile as expected. Everything below this line should be IGNORED and it only left so that the comments have context. You should no longer have any fear of the header file! Great book, updated rating accordingly.
My rating is based on the fact that you can't follow along with the examples and expect them to compile. The book tells you that it requires a special header file, but that file hasn't been updated since 2010 and I suspect enough has changed in the second edition of the book that the header file is no longer applicable.
Once you hit the chapter on vectors, you'll encounter errors with vector initializer lists (in both g++ and Visual Studio) and the sort() function being used. If you skip using the header the book tells you and directly use iostream and vector header files, initializer lists work as expected, which leads to my assumption that the required std_lib_facilities.h file is to blame. Sort() still doesn't work, though, so I assume that's some kind of custom function that's meant to be included but isn't available in the support files.
There are also some holdovers from the first edition that don't apply to the second edition. In the end of chapter review on vectors, it includes terms that were not defined in this edition of the book (but were defined in the first edition). These include terms necessary to use sort() correctly.
So until the support header file is up to snuff, I wouldn't recommend absolute beginnings start with the second edition. Basic examples won't compile and you'll likely be frustrated.
Ok, well, this still brings up an interesting idea. We shouldn't rely on a custom header like this when the book extols the virtues of standard C++ being portable!
/* Original Review
Ok, so I decided to hold off and get the second edition, because Bjarne is the father of CPP and this is designed as an introduction to programming with C++11 and upcoming C++14 in mind. If you want to know what's good about this book, check out the reviews for the first edition. I will focus on the single thing that has made this book almost useless to me.
Mr Stroustrup, in an effort to simplify the learning process, has created a custom library, std_lib_facilities.h. This has unfortunately led to a huge portability issue. Using an up to date version of g++ on my linux laptop causes compiling errors when using std_lib_facilities. At first, it's easy to work around this limitation. Figure out which #include statements you need and define the namespace.
But then we hit ch 5, error handling. The text becomes useless, because the chapter is relying on custom error handling included header. Custom error handling that I can't reproduce on my own, because, and this is crazy, I got a book for freshmen because I don't know how to program very well.
So, if you use windows and visual studios, which has some of the WORST C++11 feature support, you can use this book for learning C++11. But if you want to use the highly supportive g++ on a good development platform like Linux, well, no can do.
Stroustrup's website is useless as far as support goes. Give the guy credit, he clearly doesn't worry about the way his page looks. I mean, yikes.
Most Recent Customer Reviews
I've found working with this book to be a difficult and frustrating experience, because it is poorly written, from the perspective of pedagogy. Read morePublished 23 hours ago by Gendun
I am studying C++. Have 2 or 3 books among which is this one that i just recently purchased.
I am on my own: not in an eductional environment, don't know anybody knowledgeable... Read more
Excellent book for computer science majors, beginning programmers, and intermediate programmers that need a refresher. Read morePublished 1 month ago by Justin Javan
I will stick to Accelerated C++. This book is too wordy and too voluminous.Not the sort of book i expect to find tomes of words.Published 1 month ago by Pascal Wamugunda
- Had some problems with the FLTK graphics implementation. In Bjarne Stroustrup's page you can download the code, but you have to correct a lot of issues with the code because it... Read morePublished 2 months ago by Amazon Customer
This book, in my opinion is geared more towards people who have learned a bit of c++ in the past and are looking for a review. Read morePublished 3 months ago by steven
Obviously Dr. Stroustrup is THE authority on C++. No self respecting C++ programmer should be without it. Read morePublished 3 months ago by John Westin
Well written for beginners to learn programming, using C++. A heavy focus on programming concepts with plenty of exercises that will challenge you and reinforce chapter material.Published 4 months ago by SkogKniv