



desertcart.com: Tour of C++, A (C++ In-Depth Series): 9780134997834: Stroustrup, Bjarne: Books Review: Worthwhile upgrade to the First Edition - The first edition of this book covered C++ up to C++11. Now that I've moved to C++14, I decided it was time to buy the second edition, which covers up to C++17 and notes some of the upcoming features of C++20. If you like the first edition of this book, you'll like the second edition even more. Going from 181 to 240 pages, all of the first edition content seems to be there, along with the same terse but informative information on the new C++ features. There is also expanded information on C++ usage in general. For example, the old 'Classes' chapter is now broken out into two, with an additional chapter 'Essential Operations' added that covers both the newer copy and move references, as well as new material on resource management and conventional operations (eg container operations, etc.) reflecting the latest thinking on best practices with C++. The 'Templates' chapter has been broken out to include a new chapter 'Concepts and Generic Programming' covering generic programming and variadic templates. The Input and Output chapter has been expanded to include not just the new File System functionality, but also C-style I/O (and how to mix it in without too much grief). The 'Algorithms' chapter now covers parallel algorithms from C++14 as well as Concepts from C++20. The 'Utilities' chapter adds new depth on customizing allocators, as well as describing new features such as range checking (span) and alternatives (variant/optional/any). As before, the final 'History and Compatibility' chapter lists the majority of changes between the major C++ versions, now up to C++17. Also as in the first edition, each chapter ends with a long list of Advice for best C++ programming practice, now updated to reflect the changes brought about by the new C++14 and C++17 methodologies. As with the first edition, this book is not an introduction to C++ for beginners, nor a detailed reference. As an experienced C++ programmer, I use it mostly as a 'Pocket Reference' to remind me of the often-quirky syntax required for a particular operation, or as a quick refresher of a particular C++ topic before I dig deep into "The C++ Programming Language" tome by the same author, cppreference.com, or Stack Overflow. It's also fun to just flip through occasionally to remind myself of functionality this porcine language hauls around that I only use when the planets align...bitsets, I remember those, oh yeah, ofstreams, std::iota()? totally forgot about that one... Review: The best book for experienced programmers to quickly learn modern C++ - This book is a great introduction to the latest features of the C++ language and standard libraries for experienced programmers. Although I would not recommend this book for anyone who wants to learn C++ as their first programming language (I would suggest this instead: Programming: Principles and Practice Using C++ (2nd Edition) ), I believe this book is perfectly suited for programmers with several years experience programming in another language such as C, C#, Java, Python or Ruby. Also, this would be my first recommendation for people with previous C++ experience but who haven't programmed in it recently (or for anyone who uses C++ regularly but in an environment stuck on C++98). As Dr. Stroustrup explains in the preface, this book covers all the highlights from the latest versions of the language & standard libraries (C++11, C++14, and C++17). New language features are quickly introduced but in a very clear and logical order, and each new feature is clearly and concisely explained. The book also includes a wealth of good, practical advice on the issues of design, performance, and style, as well as plenty of sample code to help you better understand how or why all of these features can and should be used. I'm amazed at how much information is included in such a short book, without sacrificing readability and understanding. I only have one minor complaint about this book: he also includes several new features that are expected to be included in C++20. The C++ standards committee is clearly working on several cool new features, and thanks to his explanations in this book I have a clear understanding of why these new features are important and how they can improve my own code, but it's disappointing to have to wait a few more years to use them. (Sections discussing potential new features in C++20 are clearly marked as such, so we get to know exactly what we're missing out on)







| Best Sellers Rank | #780,163 in Books ( See Top 100 in Books ) #178 in C++ Programming Language #674 in Computer Programming Languages |
| Customer Reviews | 4.7 4.7 out of 5 stars (542) |
| Dimensions | 9 x 7.4 x 0.7 inches |
| Edition | 2nd |
| ISBN-10 | 0134997832 |
| ISBN-13 | 978-0134997834 |
| Item Weight | 15.2 ounces |
| Language | English |
| Part of series | C++ In-Depth |
| Print length | 256 pages |
| Publication date | June 29, 2018 |
| Publisher | Addison-Wesley Professional |
R**N
Worthwhile upgrade to the First Edition
The first edition of this book covered C++ up to C++11. Now that I've moved to C++14, I decided it was time to buy the second edition, which covers up to C++17 and notes some of the upcoming features of C++20. If you like the first edition of this book, you'll like the second edition even more. Going from 181 to 240 pages, all of the first edition content seems to be there, along with the same terse but informative information on the new C++ features. There is also expanded information on C++ usage in general. For example, the old 'Classes' chapter is now broken out into two, with an additional chapter 'Essential Operations' added that covers both the newer copy and move references, as well as new material on resource management and conventional operations (eg container operations, etc.) reflecting the latest thinking on best practices with C++. The 'Templates' chapter has been broken out to include a new chapter 'Concepts and Generic Programming' covering generic programming and variadic templates. The Input and Output chapter has been expanded to include not just the new File System functionality, but also C-style I/O (and how to mix it in without too much grief). The 'Algorithms' chapter now covers parallel algorithms from C++14 as well as Concepts from C++20. The 'Utilities' chapter adds new depth on customizing allocators, as well as describing new features such as range checking (span) and alternatives (variant/optional/any). As before, the final 'History and Compatibility' chapter lists the majority of changes between the major C++ versions, now up to C++17. Also as in the first edition, each chapter ends with a long list of Advice for best C++ programming practice, now updated to reflect the changes brought about by the new C++14 and C++17 methodologies. As with the first edition, this book is not an introduction to C++ for beginners, nor a detailed reference. As an experienced C++ programmer, I use it mostly as a 'Pocket Reference' to remind me of the often-quirky syntax required for a particular operation, or as a quick refresher of a particular C++ topic before I dig deep into "The C++ Programming Language" tome by the same author, cppreference.com, or Stack Overflow. It's also fun to just flip through occasionally to remind myself of functionality this porcine language hauls around that I only use when the planets align...bitsets, I remember those, oh yeah, ofstreams, std::iota()? totally forgot about that one...
K**R
The best book for experienced programmers to quickly learn modern C++
This book is a great introduction to the latest features of the C++ language and standard libraries for experienced programmers. Although I would not recommend this book for anyone who wants to learn C++ as their first programming language (I would suggest this instead: Programming: Principles and Practice Using C++ (2nd Edition) ), I believe this book is perfectly suited for programmers with several years experience programming in another language such as C, C#, Java, Python or Ruby. Also, this would be my first recommendation for people with previous C++ experience but who haven't programmed in it recently (or for anyone who uses C++ regularly but in an environment stuck on C++98). As Dr. Stroustrup explains in the preface, this book covers all the highlights from the latest versions of the language & standard libraries (C++11, C++14, and C++17). New language features are quickly introduced but in a very clear and logical order, and each new feature is clearly and concisely explained. The book also includes a wealth of good, practical advice on the issues of design, performance, and style, as well as plenty of sample code to help you better understand how or why all of these features can and should be used. I'm amazed at how much information is included in such a short book, without sacrificing readability and understanding. I only have one minor complaint about this book: he also includes several new features that are expected to be included in C++20. The C++ standards committee is clearly working on several cool new features, and thanks to his explanations in this book I have a clear understanding of why these new features are important and how they can improve my own code, but it's disappointing to have to wait a few more years to use them. (Sections discussing potential new features in C++20 are clearly marked as such, so we get to know exactly what we're missing out on)
R**S
The "K&R" of Modern C++
This book is short but philosophically dense, written in a conversational style which meanders seamlessly from topic to topic, all-the-while punctuated by references to other related areas of the book. I found myself following these subsections in a choose-your-own-adventure style after the first read-through. Error handling is on page 35, RAII-style destructors are on page 51, and "Hello World" is on page 125 (essentially). And it works, because the author understands the material well enough to make everything flow intuitively. The text is black, and the syntax is bold blue, and they both use the same nice-looking font. The formatting is top-notch. The chapters conclude with a section of "Advice", which also summarizes the chapter in bullet-point format. These did not 100% match with my personal "Aha!" moments in the text: I used a red pen to underline key words and phrases to be easily found, but not distracting (as highlighting would be) on subsequent readings. I think the red/black/blue keeps it all nice-looking... It was easy to get bogged down in some areas which were hard or not interesting but it's there for a reason, and powering through helped prepare me for what was further in. There's only one other programming book I've enjoyed like this, hence the headline. I think this style of writing suits the same purpose as That One.
L**K
Good for learning C++ programming.
J**A
Se trata de un libro compacto y bien estructurado, que repasa prácticamente todas las características del lenguaje C++ hasta C++17 y con alguna breve incursión en características de C++20. El título está perfectamente puesto, el libro es un "tour" que revisa todos los aspectos del lenguaje sin entrar en los detalles más técnicos.
G**O
Um dos melhores livros de C++, para quem quer se atualizar melhor e ter um overview da linguagem.
M**Q
not for noobs, must have knowledge of language before purchasing this book ...
S**H
Written as an intermediate level book between Stroustrup's beginner level "Programming -- Principles and Practice" and expert level "The C++ Programming Language", this book introduces the core concepts and language features that define C++ with just enough explanation for a moderately experienced programmer to understand what they are used for and when to use them. As such it is probably the ideal book for somebody who is experienced with another language who wants to learn how C++ differs or implements similar concepts, or a programmer familiar with older C++ code who wants to learn what is new in the latest language revisions. The book is written with Stroustrup's usual clarity and precision, and provides valuable insights into the language's design and evolution from the horse's mouth. "The C++ Programming Language" gives far more detail in this regard (occasionally too much), but as of writing it only covers the language up to C++11 whilst this book is fully up to date with C++17 and contains a preview of the likely features of C++20. If I was to fault the book at all it is that there is too much focus on "concepts" (the language feature) which are planned for 20 and hence aren't likely available where you work, but I guess that will become less true with time so it's probably good to have them explained somewhere. Whilst this an excellent overview, once you've read this book you will probably still want and need more information if you want to use C++ effectively. Scott Meyer "Effective C++" and "Effective Modern C++" are the obvious choice for that, and are widely acknowledged as The Bible for C++ programmers. After that, if you have a few years C++ experience under your belt and truly want to master the language then "The C++ Programming Language" is definitive. Maybe by then we'll have a new edition for C++20 as well.
Trustpilot
1 week ago
5 days ago