Scott Meyers
scottmeyers.blogspot.com · Personal blog · on HN since 2012
Scott Meyers, author of the Effective C++ books, writes about C++ language details, backward compatibility, and book errata.
What HN saysCommenters recommend Effective Modern C++ as entertaining, cite his post on breaking backward compatibility, and note he has retired as a C++ expert.
43HN people shared it
22linked it in comments
44stories submitted
1.5Kstory points
1 year agolast shared
2012people per year2026
Most-shared posts
- 1} // good to go5 people · 498 points · first shared 2015 · 72 comments on HN
- 2Scott Meyers: The Errata Evaluation Problem5 people · 5 points · first shared 2018 · discussion on HN
- 3Breaking all the Eggs in C++4 people · 178 points · first shared 2015 · 105 comments on HN
- 4The Brick Wall of C++ Source Code Transformation3 people · 54 points · first shared 2015 · 20 comments on HN
- 5O'Reilly's Decision and Its DRM Implication2 people · 187 points · first shared 2017 · 99 comments on HN
- 6Help me sort out the meaning of “{}” as a constructor argument2 people · 169 points · first shared 2016 · 178 comments on HN
- 7The Dismal Failure of LLMs as EV Search Aids2 people · 4 points · first shared 2025 · 1 comments on HN
- 8Std::move2 people · 3 points · first shared 2013 · discussion on HN
- 9Should you be using something instead of what you should use instead?2 people · 2 points · first shared 2015 · discussion on HN
- 10A Concern about the Rule of Zero2 people · 2 points · first shared 2020 · discussion on HN
- 11How I Learned to Stop Worrying and Love Free Digital Stuff2 people · 2 points · first shared 2023 · discussion on HN
- 12Good to go2 people · first shared 2016
- 13The Time Needed to Write “Effective Modern C++”1 people · 171 points · first shared 2015 · 149 comments on HN
- 14Publishing Effective Modern C++, Part 11 people · 73 points · first shared 2015 · 25 comments on HN
- 15Publishing Effective Modern C++, Part 21 people · 54 points · first shared 2015 · 6 comments on HN
What HN people wrote when they linked it
6equj5 · 2022-08-14
I can second Effective Modern C++: https://www.oreilly.com/library/view/effective-modern-c/9781491908419/
The most amazing thing about it is how it manages to be so entertaining to read (the last thing I expected from a C++ textbook and a thing that made getting through it way easier)!
>I'm not sure if there's an even more recent edition that covers C++17 and C++20
Sadly, there is not. Scott for-the-most-part retired in 2015: https://scottmeyers.blogspot.com/2015/12/good-to-go.html
mrich · 2019-01-07
Interestingly Meyers is now a "retired C++ expert". He says he can't keep up anymore with the current C++ standard development to properly maintain errata for his books.
http://scottmeyers.blogspot.com/
hellofunk · 2018-12-29
Depends who you talk to. Here’s one take by the great Scott Meyers:
http://scottmeyers.blogspot.com/2015/11/breaking-all-eggs-in-c.html
santaclaus · 2016-03-03
Scott Meyers (of Effective C++ fame) has a great blog post on breaking backwards compatibility [1]. Unfortunately, he views it as a 10 year process.
[1] http://scottmeyers.blogspot.com/2015/11/breaking-all-eggs-in-c.html
ttfkam · 2023-10-31
CloudFlare remade their primary reverse proxy in Rust and had so few development issues, they ended up finding kernel bugs instead when problems arose. I've worked on projects with non-trivial C++ codebases for a variety of companies, large and small, and with some excellent developers who are far more skilled than I likely will ever be.
https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connec…
A non-trivial C++ codebase with that kind of track record is so rare as to be unheard of, though many can approach it with the various sanitizers plugged into the dev workflow after the fact.
C++ has improved dramatically over the last fifteen years, but a lot of stuff simply can't be fixed without breaking backward compatibility, which just isn't going to happen.
We've had enough time elapse to see the related rates of CVEs posted for C++ and Rust apps over the last few years. It's not even close.
It is absolutely possible to have bugs in a Rust app due to logic error or memory leak. But C++ has those same limitations and so many more unless you tack on a host of add-on analysis tools and still you end up with a result that is not as safe as Rust.
Write a web app server in Rust? Sure. As long as I know the problem space, have the dev time allocated, and the need for that efficiency is clear.
Write it in C++? Hell no. Not ever again. Not in a million years. Even if the need for efficiency is demonstrated, I have far less confidence in…
npalli · 2023-08-28
Scott Meyers was the go-to reference for "expert" C++ knowledge for over twenty years, he retired after his C++14 books came out and a mere two years later he couldn't even keep up with the language to make technical corrections.
C++ is a large, intricate language with features that interact in complex and subtle ways, and I no longer trust myself to keep all the relevant facts in mind. As a result, all I can do is thank you for your bug report, because I no longer plan to update my books to incorporate technical corrections. Lacking the ability to fairly evaluate whether a bug report is valid, I think this is the only responsible course of action.
https://scottmeyers.blogspot.com/2018/09/the-errata-evaluation-problem…
kazinator · 2023-02-03
Scott Myers' last sentence in his retirement-from-C++ page is telling:
https://scottmeyers.blogspot.com/2015/12/good-to-go.html
The top-most entry in his long-suppressed to-do list?
"Stop trying to monitor everything in the world of C++ :-)"
I.e that retirement from C++ basically was the execution of that top-most to-do entry. Being a C++ expert means constantly monitoring what is spewing from the fire hose.
By contrast, I can be a Lisp expert and improve in that by what could be described as crystalizing. Filling the interstitial spaces.
_gabe_ · 2022-11-11
> has few surprises
C++ has few surprises? This is from Scott Meyers, author of several books on the intricacies of C++:
> I no longer plan to update my books to fix technical errors.It's not that I'm too lazy to do it. It's that in order to fix errors, I have to be able to identify them. That's something I no longer trust myself to do.
He then goes on to explain how the language is so complex, that in two years he has already forgotten enough of the gotchas to trust himself. This is far short of a language with no surprises.
[0] https://scottmeyers.blogspot.com/2018/09/the-errata-evaluation-problem…
gdy · 2022-01-24
"naturally Scott Meyers can't write books forever"
He surely can't.
http://scottmeyers.blogspot.com/2015/12/good-to-go.html
jchb · 2020-02-29
Scott Meyers has retired from C++ (his own blog post: http://scottmeyers.blogspot.com/2015/12/good-to-go.html?m=1)
so the next C++ bible has to come from somewhere else.
Maybe he saw it coming :)
dekhn · 2020-01-02
Yep. You can see some more context here: http://scottmeyers.blogspot.com/2012/04/stdstring-sso-and-move-semanti…
I don't know if there are any canonical writeups on the various string implementations and their performance implications wrt modern hardware.
MetallicCloud · 2018-11-14
Unfortunately, that's not likely:
http://scottmeyers.blogspot.com/2015/12/good-to-go.html
stochastic_monk · 2018-09-05
The use of unsorted vectors for sets was covered and benchmarked in a Scott Meyers [0] post from 2015. Facebook's folly library supports linear containers and maps for these small sets (~100 elements, as a rule of thumb, but measure), and I've rolled my own for specific applications.
[0] https://scottmeyers.blogspot.com/2015/09/should-you-be-using-something…
aardvark291 · 2018-04-03
> Scott Meyers ... promptly exited the C++ community
Huh, TIL
http://scottmeyers.blogspot.fr/2015/12/good-to-go.html
anuragsoni · 2016-12-20
That is true, but there is still some ambiguity with initializer lists[1]
[1] http://scottmeyers.blogspot.com/2016/11/help-me-sort-out-meaning-of-as…
Discussion on hackernews about that blog post by Scott Meyers: https://news.ycombinator.com/item?id=13014429
RBO2 · 2016-02-22
> Scott Meyers has written lots of good stuff on how to use C++ properly.
Scott Meyers "retired" from C++ in December 2015 (http://scottmeyers.blogspot.fr/2015/12/good-to-go.html / https://en.wikipedia.org/wiki/Scott_Meyers). There may be a link to C++ itself don't you think?
PS: I still write most of my projects in modern C++, but slowly switching to D and other alternatives.
T-zex · 2016-02-09
Scott Meyers has provided a nice article about the distinction between the two in modern C++.
http://scottmeyers.blogspot.co.uk/2013/05/lambdas-vs-closures.html
sjm · 2016-01-01
Effective C++ was one of the most purely useful programming books I've come across. I no longer actively use C++ but it stays with me. Thank you Scott.
P.S. Is the cartoon character referred a defender of the secrets of Castle Greyskull? I must know...
Edit/P.P.S: For others interested: http://scottmeyers.blogspot.fr/2014/09/cppcon-hair-poll.html
willhsiung · 2013-03-02
Yes to the 1st question - http://scottmeyers.blogspot.com/2013/01/new-esds-book-effective-javasc…
belter · 2021-07-24
You could be Scott Meyers, write:
====================================================
1992. Effective C++: 50 Specific Ways to Improve Your Programs and Designs.
1995. More Effective C++: 35 New Ways to Improve Your Programs and Designs.
1998. Effective C++, Second Edition: 50 Specific Ways to Improve Your Programs and Designs.
2001. Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library.
2005. Effective C++, Third Edition: 55 Specific Ways to Improve Your Programs and Designs.
2010. Overview of The New C++ (C++11)
2010. Effective C++ in an Embedded Environment
2014. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
====================================================
and you would not be able to understand modern C++ anymore...
"The Errata Evaluation Problem"
http://scottmeyers.blogspot.com/2018/09/the-errata-evaluation-problem.…
"As you may know, I retired from active involvement in C++ at the end of 2015, and in the ensuing two and a half years, I’ve forgotten enough details of the language that I am no longer able to properly evaluate bug reports regarding the technical aspects of my books. C++ is a large, intricate language with features that interact in complex and subtle ways, and I no longer trust myself to keep all the relevant facts in mind. As a result, all I can do is thank you for your bug report, because I no longer plan to update my books to incorporate technical corrections. Lacking…
imron · 2020-01-21
> I see that you have not kept up.
I have not (C++14 onwards was roughly where I started paying less attention), and that was partly my point. C++ has gone through dramatic change, and if I'm going to go through that dramatic change, I might as well do it with a language that has modern features and safety built in, and doesn't require extra boilerplate to do it.
Looking up the rule of zero, it seems there's still some debate about whether it's a good thing or not [0] (don't know if it's been resolved yet), and it still doesn't preclude you from knowing about the rule of 5 and the side-effects of declaring or not declaring certain operators/constructors/destructors.
> As the language gets more capable, the code you write gets simpler.
> I don't think that is happening in Rust.
This happens quite often in Rust, see for example error handling and the evolution of the ? operator, and the recent addition of async/await, and unlike c++, as the language gets more capable the changes required in terms of coding style and updating your mental model of how things work is usually not so dramatic.
0: http://scottmeyers.blogspot.com/2014/03/a-concern-about-rule-of-zero.h…
packetslave · 2014-07-21
Scott Meyers has an Introduction: http://www.artima.com/shop/overview_of_the_new_cpp
He's also writing a new book that's available in Rough Cuts from O'Reilly that covers C++11/14:
http://scottmeyers.blogspot.com/2014/06/effective-modern-c-status-repo… and has given a talk covering some of the same ground: http://vimeo.com/97318797
Herb Sutter has "Elements of Modern C++ Style": http://herbsutter.com/elements-of-modern-c-style/ and has given several talks, such as http://channel9.msdn.com/Events/Build/2014/2-661
Finally, you can't really beat Stroustrup's book: http://www.amazon.com/The-Programming-Language-4th-Edition/dp/03215638…