- Save 10% on Books for Schools offered by Amazon.co.uk when you purchase 10 or more of the same book. Here's how (terms and conditions apply) Enter code SCHOOLS2017 at checkout. Here's how (terms and conditions apply)
- Save 10% on selected children’s books, compliments of Amazon Family Promotion exclusive for Prime members .
Programming: Principles and Practice Using C++ Paperback – 15 May 2014
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Special offers and product promotions
Frequently bought together
Customers who bought this item also bought
Enter your mobile number or email address 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.
To get the free app, enter your mobile phone number.
If you are a seller for this product, would you like to suggest updates through seller support?
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++.
What other items do customers buy after viewing this item?
Top customer reviews
You get all that you need - because the book is written by the guy who invented C++ so...
It covers everything in great detail and it is suitable for any experience level - given the fact that the book is massive, I'm sure everyone will find something in there about C++ that they had no idea about.
Let me know if you have any questions.
I'm reading on a kindle (black & white), so I can't differentiate between harder and easier sections (signaled by the colored circles). If you could add some color independent sign for kindle users, that'd be really nice.
Although I'm only at 7%, I enjoy it very much and I'd highly recommend. Well written book.
Firstly, his approach is not to treat learning C++ as a purely language-technical issue, but to talk about programming as a means to the solving of problems, and use C++ (the most versatile and widely used programming language we have) as a vehicle to do this.
After a dedication to Lawrence Petersen, his collaborator on this project, there is an interesting chapter concerning the place of computer systems in modern life.
Programming is introduced in the conventional way with the simplest concepts, then the learning curve becomes progressively steeper (a feature which is required of a reasonably complete introduction to the subject, even given the 1264 pages of this book).
BS uses several techniques that I had not seen before. All the code is printed in a bold typeface in blue. That makes it easier to distinguish code terms from other, possibly similar words within the body text. He does not use unnecessary spaces in his code. This helps to clarify where spaces are actually required by the syntax as opposed to merely beautifying the code. It also allows more characters per line, but the downside is that the code tends to look more crowded.
Nearly every chapter ends with a set of drills (short exercises), a review of all the new material introduced in the chapter, a list of the new terms, a very comprehensive and well thought out set of more substantial exercises and a postscript giving final thoughts. If students were to take on these exercises in a conscientious way I have no doubt that the learning curve would be flattened to a great extent and they would rapidly gain proficiency in programming.
Having prepared the ground thoroughly, BS raises the level of activity by introducing programming techniques which produce graphical output, and devotes 160 pages in five chapters to it. An independently produced lightweight graphical user interface package called FLTK has to be downloaded and installed for this purpose (its free of charge). FLTK was chosen partly because it is a cross-platform system (cross platform functionality being one of BS's hobby horses, although one which is justified). I found this part of the book a bit tedious, mainly because I am not greatly interested in graphics at present and partly because I did not have the time to play with the system sufficiently.
Two thirds of the way through the book is a refreshing and fascinating chapter dealing with the history of programming and some of the personalities involved; something I had not thought of investigating in any detail before. Colour photographs are another feature of this book which adds to its appeal.
An important theme of the book is the idea that its all too easy to make mistakes when programming, but there are ways to mitigate this. BS owns up and highlights many mistakes he made (some of them deliberate, for pedagogical reasons) when writing programs for the book. I find that both endearing and encouraging. Major sections deal with debugging and system testing, including the recording of run-time.
The last chapter is an introduction to the C programming language. I was very pleased to see that since you cannot go very far in the world of C++ without tripping over branches of C code, and it helps a lot if you can understand it. There are five appendices which provide useful reference material and some extra ideas for anyone who has stayed the course.
The book is supported by some excellent web pages with supporting material including an errata list and well designed tutorial materials for teachers.
I found this book generally very revealing and rate it not only excellent, but inspiring. It provides the means to become a good programmer if you are prepared to do the work, and the encouragement to do so.
I already had a very basic knowledge of c++/programming. But already i have learned a lot more than i thought i knew.
To all the people complaining that this book requires you to download a header file from Bjarne's website - they are incorrect. At the end of the first chapter he clearly states what files are included in his pre-made header file (therefore there is no need to download said header file)
I will come back and continue this review when i get into the book at bit more - looks promosing.
I do however have some reservations about this book. About the only thing I don't like about the book, occurs early on in chapter 2. I don't like the way the author hides the headers etc by including them in a header file of his own - "std_lib_facilities.h". I feel that this treatment makes the student far too dependant, and that it would be better for them to know about these things right at the beginning, especially as the are relatively easy to grasp. What is even worse is that the book does not tell you the contents of this header file. In the appendix, you are however told that you can download the header file from the authors web site.
Now that I have said what I don't like about the book, I must say that besides my complaint above, the book is excellent. There are certain topics that possibly don't appear in most other introductory texts, and certainly are not explained so clearly as they are in this book.
Even in the first part of the book - The Basics, there is good coverage of errors and exception handling, an overview of Classes and much more involved real-world programming examples that you don't typically find in introductory texts.
Part 2 - Input and Output, gives as the title suggests a thorough grounding in Input and Output, as well as providing an introduction to Computer Graphics using the FLTK. This is a class library that comes packaged in Quincy 2005, though can be downloaded separately if you are using another C++ compiler/IDE. This is the only C++ book that I have seen, that uses the FLTK. Other books such as "You can do it" and "You can program in C++" by Francis Glassborow, include graphics environments, but using their own graphics classes.
The remaing parts of the book cover more advanced topics - including data structures and algorithms, including vectors and templates, the STL including the <algorithm> library and many other topics that will only appear in more advanced courses.
So, although the book starts off easy, and has the appearance of being user friendly, it does cover some really difficult stuff.
This is a book that will appeal to a variety of C++ users, from beginner to advanced programmer. A very interesting and useful book to have available on a shelf at home.