Programming: Principles and Practice Using C++ (C++ In-depth)
M**K
Good first programming and C++ language book.
Arrived on time, as advertised, no issues. College textbook at beginner level, but presents up to date information on recents versions of the software. Good mixture of programming concepts and language concepts. Great author. Happy with purchase.
K**R
Well organized
This new book by the creator of C++ is more well organized and written than earlier books written by him.
F**.
Great book! It does beg the question why are we teaching students Java?
My admiration for Dr. Bjarne Stroustrup is exceptionally high. I don't think his older books were as good as the books he has written in the past +10 years, but he has been writing a lot more over time and it shows. The C++ Tour books are great, but they have a different audience.This book really shows his years of writing C++. He is the creator of C++, but C++ has undergone many updates, and he really did it this time. This is by far his best book.I recommend this book for anyone who wants to start coding or for an early programming curriculum (Programming I and II).Why are we teaching Java? It beats me. I'm not even talking about liking one language than another. I wouldn't mind if students did some python and a system language... But how can we be ignoring C++ (which is a system language too)?
E**M
Header file
I dont understand the reason behind creating a header file, when the most common for such small program examples is the IOSTREAM include file. A header file the one he created is good after one gets experience with C++ not for a beginner.
E**N
Not Great for Self-Study or Complete Beginners
The book is very informative, but it is badly organized and I feel the editor did a terrible job. There are several problems that I believe make it bad for complete beginners.Stroustrup makes a habit of using concepts from later chapters in earlier parts of the book. For example, the drill at the end of chapter 8 expects the reader to read forward into chapter 9 to learn about overloading the output operator. At least in this instance he gave a reference for looking up the information needed, but he does not always do this. For example, structs are used before any explanation is given as to what a struct actually is, and no reference to later chapters that explain them is given. It is just assumed that the reader should know or be able to deduce what they are. The reader can of course look them up in the index or Google them, but the book is just all over the place with its organization. I have a small amount of programming experience using other languages so the concept of a struct wasn't completely foreign to me, but for a complete beginner who this book is supposed to be targeted at this would likely just confuse them.The online materials that are supposed to be on Stroustrup's website are incomplete. There is supposed to be a downloadable version of the calculator exercise that several entire chapters are based around but it is nowhere to be found with the link for the 3rd edition materials simply listed as "TBD." I understand Stroustrup is a busy person, but the book has been out for several months now. Is this material coming or not? The complete source code for the program is not given within the book as chunks of it are left out for brevity so the reader cannot even type it out manually. They can download the 2nd edition version, but this version is incompatible with the supporting materials provided for the 3rd edition.Regarding the supporting materials, they don't compile. As far as I can tell this is because a couple instances of "cout" need to be changed to "std::cout" because the namespace is not used properly. A complete beginner may not be able to figure this out. It's very disappointing that the supporting materials are so incomplete and the parts that are there don't even work without the reader having to fix them.Overall if you have a basic understanding of some programming concepts or have a teacher who can help you then this book may work for you, but it is still a complete mess which will cause some frustration. If you're a complete novice to programming I would definitely look elsewhere.
C**S
What a great intro to C++ and programming!
I am an embedded software engineer and work with C++ daily, I was looking for something to give to an interested friend and found this. I wanted to read it myself before recommending it and ended up learning a thing or two myself!
R**Y
A Frustrating Experience
I have just completed going through the entire book from cover to cover. While overall, I think the book's content was good, I did have many issues with the code examples in the second half of the book, after the chapters on the graphics library. I got the impression that the author was rushed in completing the updates for the third edition to include C++ 23 features. Many of the examples just don't compile, at least with Clang 20 on Ubuntu. He doesn't slow down and explain a lot of the concepts he was discussing. I had to spend a lot of time trying to figure out how to get his examples to compile which resulted in code that doesn't quite match what was in the book. It was like the author was writing the code examples without actually testing them. I also really struggled to get the programs to compile using "import std" especially using CMake with both GCC 15 and Clang 20. I was able to get Clang 20 to work well in Visual Studio Code with the clangd extension, but GCC was a struggle. The very latest EAP of JetBrains Clion community edition does also work well with "import std", finally. There was no help from the author on these issues and his companion website was incomplete and alluded to having a more experienced person to help with compiler setup issues.
T**E
Disappointing
The first example in the text doesn't compile, mostly because neither the versions of clang and g++ that support the level of c++ support the package import. Stroustrup provides an equivalent header file much as he did in earlier editions so it's no big deal. Unfortunately, I'm not too sure that this is really an improvement over earlier editions. There are fewer chapters and fewer useful examples and the emphasis on "The C++ Core Guidelines" does the reader a disservice -- if one is using it as a textbook, the unremitting verbosity reminds one of Jave's incredible verbosiy and that in itself hinders understanding.I tutor and informally teach C++ to new employees. I've always recomended the earlier editions to my students as supplemental reading -- and the style seemed to fit in with what they need in the real world of academia or commercial enterprise. This just isn't up to the standard of the earlier versions.
Trustpilot
2 months ago
2 months ago