Friday, July 11, 2014

Draft Version of Effective Modern C++ Now Available

A full draft of Effective Modern C++ is now available through O'Reilly's Early Release program and Safari Books Online's Rough Cuts program.

The cover design for the book has changed. I'm the common crane no longer. Now I'm the fruit dove. I'm not sure what to make of this. Is going from common to fruity an upgrade?

My editor explained the reason for the avian switcheroo:
Since we are going full color for the book, the animal on the cover is going to be full color. The common crane isn't super colorful so we are switching to the fruit dove because it is filled with color.
During the early release it will be in black and white and the color will make its appearance soon.
The big information here is that O'Reilly has decided to print the book in full color. That's a first for me, and it means that the print book will display the different colors I originally put into the manuscript with only digital publishing in mind.

Well, the print book might display those colors. I'm not preparing the formatted content for this book. Instead, I'm working on a manuscript into which I put all the logical information that O'Reilly will need to produce the appropriate formatting for the files that will ultimately be used for publication and distribution. These will include PDF, ePub, and Kindle-compatible .mobi. So text in my manuscript that's red or blue or tan may not show up in those colors in the final product.

However, those colors will show up in the Early Release version of the book, because that document is simply a PDF print-out of the manuscript I'm working on. Please don't assume that the Early Release document reflects what the final book will look like. Even if O'Reilly chooses to use the colors I selected, they'll definitely clean up many aspects of the page layout that I designed to be seen only by me and my technical reviewers.

The Early Release book reflects the state of the manuscript as of about six weeks ago. Since then, I've read through the several hundred comments I got from my reviewers. Of the 315 pages in the manuscript, only 91 survived unscathed. That means that over 70% of the pages in the Early Release version have problems (that I know about). Some issues are small, e.g., misspellings or grammatical errors. Others involve important technical shortcomings that I'll have to think hard about how to address. To date, my favorite error report concerns a page in the manuscript where I managed to mis-translate a simple C++14 lambda expression into a corresponding C++11 lambda or call to std::bind in three different ways. I got it wrong. Three times. In three different ways. On one page. 

The draft book is available either as a standalone purchase or though Safari Books Online. At Safari, the book is currently associated with yet a third cover design (a hummingbird), but I believe we're going with the dove. Yet maybe not. I'm less in the loop on this stuff than you might think an author would be.

If you read the draft Items I posted earlier (here and here), you may be disappointed or even alarmed to see that the Items in the Early Release draft are essentially the same as what I posted. Relax. In the past few months, I've been focusing on finishing a full draft of the book, so work on revising existing Items got pushed to the back burner. I'm tending to those burners now, so the final versions of the Items will include changes in my thinking based on the comments I've received. 

I'm a little nervous about making this draft available. My normal modus operandi is to make things as good as I can before I publish them. What you're seeing in this case is a draft that was as good as I could make it before I sent it out for technical review. Based on the comments of my reviewers, I'd say it's not in bad shape, but there are a lot of places (some 70% of them) that need work. If you see opportunities for improvement, feel free to let me know about them, either by using the O'Reilly or Safari online errata reporting mechanisms or by sending me email ( I don't expect to have time to respond to or to even acknowledge every report that comes in, but I assure you that I'll read them all and do my best to incorporate them into the final version of the book.



Troy said...

Is the early release only going to be available as PDF?

Scott Meyers said...

@Troy: Yes, my understanding is that the Early Release version is PDF only.

Matt said...

Hi! I have a question: Can the draft be accessed using an institutional subscription to Safari Books Online via ProQuest?

// The usual way, i.e., attempting to replace "my" with "proquest" in the original URL ( results in a "Page Not Found" error :-/

Stefanus Du Toit said...

Is it possible to preorder the print edition while also getting access to the draft version?

The standalone order page seems to have either the option to get the ebook and the draft, or to preorder the print one, but not to get the draft along with a preorder of the print one.

Scott Meyers said...

@Matt and @Stefanus Du Troit: I've forwarded your questions to my editor, because I don't know the answers. I'll let you know what I find out.

Scott Meyers said...

@Matt and @Stefanus Du Troit: From my editor:

Yes, the book should be available via ProQuest and is up on Safari now...sometimes its posting lags by a few hours from when we hit the 'go' button.

We do not sell the early release with a pre-order of the print book due to systems issues (and possibly laws around taking credit card numbers without charging them or something). It is something that we have on our list to work on in future.


Anonymous said...

Related to Stefanus's question, my plan is to pre-order the print book and then immediately upgrade to the early release ebook as well.

The above plan assumes the following: a) pre-ordered books immediately get registered as owned print books, and b) early release ebooks are eligible for special upgrade deals from registered print books to ebooks.

I'm hesitating to try it for now, since it involves two significant uncertainties.. and so it seems like the sort of maneuver that could put me on a collision course with customer service.

Scott Meyers said...

@Anonymous: I've forwarded your comment to my editor, and I'll let you know what she says about your idea.

Scott Meyers said...

@Matt: Update from my editor regarding access to by book in Safari via Proquest: Proquest doesn't have access to Rough Cuts, so you won't be able to access my book that way (until, I assume, it's officially published).

Scott Meyers said...

@Anonymous: Regarding your plan to pre-order the print book and then immediately upgrade to the early release ebook, my editor tells me, "No we can not do that." That's all she told me, so I can't provide any details, sorry.

Anonymous said...

Thanks for the response regarding my purchase scheme :)

I'll start with the ebook then - The Early Release program's a great idea for technical books.
(and of course I'm in the hopes that they'll clear up any policy on these details internally and update their FAQ, but I can't ask for everything)

Matt said...

@Scott: Thanks for the reply!

Oh well, gonna have to wait a bit more, then :-)