Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Programming: Principles and Practice Using C++ (2nd Edition) 2nd Edition

4.0 out of 5 stars 78 customer reviews
ISBN-13: 978-0321992789
ISBN-10: 0321992784
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Trade in your item
Get a $28.77
Gift Card.
Have one to sell? Sell on Amazon
Rent On clicking this link, a new layer will be open
$21.03 - $21.04 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$52.83 On clicking this link, a new layer will be open
More Buying Choices
54 New from $47.68 55 Used from $45.42
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Windows10ForDummiesVideo
Windows 10 For Dummies Video Training
Get up to speed with Windows 10 with this video training course from For Dummies. Learn more.
$52.83 FREE Shipping. In Stock. Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • Programming: Principles and Practice Using C++ (2nd Edition)
  • +
  • The C++ Programming Language, 4th Edition
  • +
  • Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Total price: $150.46
Buy the selected items together

Editorial Reviews

About the Author

Bjarne Stroustrup is the designer and original implementer of C++, as well as the author of The C++ Programming Language, Fourth Edition (Addison-Wesley, 2013), and A Tour of C++ (Addison-Wesley, 2014) and many popular and academic publications. Dr. Stroustrup is a managing director at Morgan Stanley in New York City, as well as a visiting professor at Columbia University and a Research distinguished professor at Texas A&M University. He is a member of the U.S. National Academy of Engineering, an IEEE Fellow, and an ACM fellow. His research interests include distributed systems, design, programming techniques, software development tools, and programming languages. He is actively involved in the ISO standardization of C++.
NO_CONTENT_IN_FEATURE

New York Times best sellers
Browse the New York Times best sellers in popular categories like Fiction, Nonfiction, Picture Books and more. See more

Product Details

  • Paperback: 1312 pages
  • Publisher: Addison-Wesley Professional; 2 edition (May 25, 2014)
  • Language: English
  • ISBN-10: 0321992784
  • ISBN-13: 978-0321992789
  • Product Dimensions: 7.4 x 1.9 x 9 inches
  • Shipping Weight: 4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (78 customer reviews)
  • Amazon Best Sellers Rank: #11,988 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Paperback Verified Purchase
If you are new to programming, this is your book. If you are new to C++ but knows how to program, you may want to considered this book or C++ Primer.
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.
6 Comments 48 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
The new features of C++11 (especially copy and move construction) are highlighted and demonstrated very well in the chapters relating how to implement a Vector class.

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.
3 Comments 25 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
This is an educational book, written by a great teacher, who also happens to be the inventor of C++ and the major contributer to it, and who happens to be one of the most precise authors you can read. This text, like his other ones, is written in a very precise language, and it deserves to be read with the same level of precision.

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.
3 Comments 24 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
The book itself is great so far. I'm in chapter four and the language is very accessible. It doesn't dumb things down, but it also doesn't use lofty language that feels like you're being talked down to.

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.
9 Comments 14 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
Thanks for another poster pointing out that Stroustrup released an edited header file yesterday. His page would have benefited from mentioning that ...
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.
*/
Comment 7 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Set up an Amazon Giveaway

Programming: Principles and Practice Using C++ (2nd Edition)
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more about Amazon Giveaway
This item: Programming: Principles and Practice Using C++ (2nd Edition)