4 ms·
I'm one of the author of the books -- this is a very valuable and fair review :) I wanted to post a response directly on the website, but it gets filtered out
by SuperV1234 4y ago
I'm one of the author of the books -- this is a very valuable and fair review :)
I wanted to post a response directly on the website, but it gets filtered out as spam, so here it is:
"""
Thank you so much, Anthony, for your thoughtful and insightful review! I've already shared it with the other authors and we are discussing possible improvements for the next edition of the book.
Your feedback is genuinely very valuable, and I think that your overall assessment of the book is fair.
A few points I'd like to add:
- It is true that we use the term "safety" mostly as "business risk", but I'd also like to make it clear that there is a strong correlation between "business risk" and "chance to cut your leg off". It's not only about training. The examples you mentioned yourself are a proof of that: lambda expressions can easily lead to dangling references if one is not careful with default captures, and range-based for loops can lead to undefined behavior when looping over xvalue ranges.
- Disregarding the "safety" categorization in order for the reader to make up their own mind is something we do encourage, I believe we explicitly mention this in "Chapter 0". It's a completely valid (and intended) way of reading the book.
- Some mentions of Standard Library features are sprinkled throughout the book where appropriate, for example we do discuss `std::unique_ptr` in the Move Semantics section IIRC. But it is true that EMC++S almost completely focuses on language features.
- Your feedback about the "notionally trivially destructible" terminology is excellent. I am discussing with the other authors how to make it more clear that this terminology is not official and that relying on such properties of a type might lead to UB. If you believe that there are other parts of the book that might have a similar issue, please let me know -- the last thing we want is accidentally encourage potentially dangerous operations.
- Your feedback about the weight of the book is also important. We are considering splitting the book in separate volumes bundled together for the physical edition, just to make it more comfortable and easier to read.
- Your feedback about the print quality and comments in code is something we were aware of, and we are already working on the publisher to find a good solution. We have already tweaked the colour of the comments for the next edition on our side, but it is also a priority for us to ensure that the quality of the paper is better.
Again, thank you so much for the very valuable feedback. I am sure that even with its flaws, EMC++S can be an excellent companion for our intended target audience, and we are committed to making it even better in its future editions.
Cheers,
Vittorio
"""