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…

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!

C++17 In Detail, too large

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:

C++17 In Detail, better size

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:


C++17 In Detail @Leanpub

Book Mentions  

So far, the book was mentioned in several places.

Skillsoft Subscribers  

If you (probably through some company account) have access to Skillsoft library, then you should be able to find my book there!

C++17 in Detail @ Skillsoft

Interactive Course  

C++17 In Detail Educative

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:


C++17 In Detail @Leanpub