C++ 20: Get the details by Rainer Grimm
I could say that I picked C++ 20: Get the details up because I wanted to learn about the latest version of C++. I wouldn’t lie if I said so, but truth be told I was already an avid reader of Modernes C++, the blog of Rainer Grimm who wrote this book, so I was already familiar with many of the ideas presented. In addition, I responded to his call for help and I volunteered to be a proofreader of his new book.
It took me a considerable time, but it was totally worth it and not only because I have my name appearing in the book - twice. There are three more important reasons:
- I learnt a lot about the LeanPub platform, what is possible, what kind of possibilities are there.
- I learnt a lot about how a book evolves, nuances that we should pay attention to, it helped me improving proofreading my own articles before publishing
- As I was expected to provide valuable input to the author, I took it slowly. I read the paragraphs with great care and double-checked double-checked everything twice. Or thrice.
I obviously did not become an expert in C++20, but I did considerably improve my knowledge and I got a lot of inspiration from the book.
Apart from the usual introduction and looking into the future, summary parts, the book is composed of two main sections.
The first one gives you on about 25 pages the most important points on the new features of C++20 organized around 4 categories:
- The Big Four (concepts, modules, the ranges library and coroutines)
- Core Language
- The Standard Library
- Concurrency
This section either just give you a sneak peek at what to expect from the details that the subtitle of the book promised, or gives some help to decide what parts are you truly interested in as you can but you don’t need to read this book from cover to cover.
The second main part takes up in fact about 80% of the book and there where all the details live. For each part, there are plenty of code examples and the author also shares how to compile the code snippets. It’s important because the features of C++20 are still not fully supported by all the compilers (in the moment of writing, beginning of 2021). Even with all the explications, comments and examples, you’ll not become an expert on these topics, but you’ll get around 80% of the details, all that you’d need in normal circumstances.
If you need the rest, you already have the foundations that you can build upon. As for me, it’s the case with concepts. C++20: Get The Details served me as inspiration to write an in-depth series about C++ concepts and to turn them into a book.
I want to emphasize on the book with a purpose. Writing a book it’s an immense work, but you can reuse some blog posts. If you’re familiar with Modernes C++, you’ll see that many of the chapters were already published as individual blog posts or mini-series.
I still think the book has an added value and not only because the contents are aggregated. I’m totally aware of how much the content evolved, how it got a better shape, explanations were clarified and all those are impossible to backport to the blog posts.
C++ 20: Get the details is exactly the book you need right now if you want to immerse yourself in the latest version of C++. It’s a complete guide, the author doesn’t only discuss the flagship features of C++20, but also every minor addition to the language. Luckily, the book includes tons of example code, so even if you don’t have direct access yet to the latest compilers, you will have a very good idea of what you can expect from the different features. A highly recommended read!