Last Update:
C++17 In Detail, June Update: Foreword and Printing Tests
Table of Contents
Last Friday my book got a fresh update! It’s been three months since the previous release, and this time I brought foreword, new book format and some small content changes.
Changes
Here are the main changes:
Foreword
First of all the book has now a foreword, and it’s written by Herb Sutter!
Herb Sutter is a key person in the C++ World; he drives the language into a better future. I’m honoured and thankful that he used his precious time and wrote the text!
A quote from that foreword:
“If you’ve ever asked “what’s in C++17 and what does it mean for me and my code?” — and I hope you have — then this book is for you.”
Now that the C++ standard is being released regularly every three years, one of the challenges we have as a community is learning and absorbing the new features that are being regularly added to the standard language and library. That means not only knowing what those features are, but also how to use them effectively to solve problems. Bartlomiej Filipek does a great job of this by not just listing the features, but explaining each of them with examples…
Print-Ready
Do you like e-books or prefer their physical version?
For me, e-books are very convenient to read and write. This format allowed me even to self publish in an easy way, and they are simple to update.
Yet, having a physical copy is my preferred option. For example, I often buy an e-book or download some free pdfs… and then forget to read them. With print books, it’s harder to ignore, and most of the time I do read them :)
Since March I’ve been testing some self-printing services with the idea to prepare a physical version of “C++17 in Detail”. It appears that it’s not so hard!
Leanpub already offers a “print ready” pdf version which is perfect for sending it to printing services. There’s even Adobe InDesign version if you want to make more adjustments.
The first thing I tried was to print it through lulu.com. It was quite quick and in a week or so I got my first version!
But, as you can see, the book was too large! Initially, I used some default options - US Letter in the book format setting. It looks good on Desktop, but not when printed.
I decided to reduce the size of the book, into Technical, and now it looks like a regular coding book.
For the second print, I went with Amazon KDP.
Here are the results:
All in all, KDP is a bit easier to use than, and what’s more, it can print each copy cheaper. Amazon also gives me access to a broader market so I’ll try to sell my book through that service.
I still need to make some small changes in the content, design a back cover, and then it should be ready for printing. I’ll let you know when it’s available.
List of changes in this update:
- Foreword by Herb Sutter!
- Changes book format from 21.6 x 27.9cm (US Letter) into 17.8 x 23.1cm (Technical)
- common code style, add code titles in most of the places
- lambda section updates,
- new section - Capturing
*this
Here’s the link to the book:
Book Mentions
So far, the book was mentioned in several places.
-
The book is listed in one of the articles from the Visual C++ Team:
Books on C++17 | Visual C++ Team Blog -
There’s a review at CppDepend blog:
C++ 17 In Detail Book Review – CppDepend Blog (including a little discount) -
And there’s also a GoodReads page:
C++17 in Detail @GoodReads
Skillsoft Subscribers
If you (probably through some company account) have access to Skillsoft library, then you should be able to find my book there!
Interactive Course
Thanks to the collaboration with the team @Educative we published C++17 in Detail as an interactive course!
You can see it… and even preview it for free here:
>> C++17 in Detail: A Deep Dive
It consists of 200 lessons, many quizzes, code snippets… and what’s best is that it has more than 120 playgrounds! That means you can compile and edit code sample directly in the browser… so there’s no need for you to switch back and forth to some compiler/IDE.
I think that such an approach increases your learning experience.
The Plans
- GCC 9.1 is out and I need to include it in the book content. For example, it’s now easier to build filesystem code samples (no need to link to separate fs library), and there’s a way to enable parallel algorithms!
- Update compiler support for the filesystem library
- Run code samples with parallel execution in GCC 9.1 and compare the results
- Update the
std::variant
chapter with notes about unwanted type conversions and mention the last blog post: Space Game: A std::variant-Based State Machine by Example. - Move with the print version and offer it through Amazon KDP: back cover, some layout review and fixes.
Your Feedback
I appreciate your initial feedback and support! The book has now almost 1300 readers (and only nine refunds)!
Let me know what’s your experience with the book. What would you like to change? What would you like to see more?
Add your feedback/review here:
https://www.goodreads.com/book/show/41447221-c-17-in-detail
You can use this comment site:
https://leanpub.com/cpp17indetail/feedback
Or forum:
https://community.leanpub.com/c/cpp17indetail
Here’s the link to the book:
I've prepared a valuable bonus for you!
Learn all major features of recent C++ Standards on my Reference Cards!
Check it out here: