And he raises a good point downthread, too:
"So, what's the calculus with something like the ISO C++ standard? You sell 1000 copies at $200 = $200,000 lifetime income. Meanwhile, a lack of understanding of C++ details is kneecapping a hundred billion dollar segment of the technology industry. It's absolute madness."
I suspect volunteers working on floss compilers use the draft, but anyone who can expense it has no reason not to.
As an aside, when I need to explain how something works for C, I quote the standard. When I need to explain how something works for C++, I quote Stroustrup's book. The C++ standard is very precise, but also very math-y. Stroustrup is much more approachable.
This is the best summary of why having to pay for standards is a problem. Let's unpack it carefully.
> volunteers working on floss
An enormous, perhaps the most vital, part of the people working on everyday software stuff.
> anyone who can expense it
Companies and organizations that have money and may or may not have a de facto controlling market share of software that implements a spec
What happens when that company with a controlling market share implements a part of the adopted standard that differs in some apparently insignificant way from from the freely available draft? If that difference turns out to be more significant than it appears, now that company has the only truly spec-compliant implementation, and the rest of the market can't interop because of that difference.
Hello vendor lock-in, my old friend.
I agree with the sentiment that a lack of knowledge is kneecapping C++ development.
However, that lack of knowledge isn’t so much about the details, but the big picture. Forget reading the ISO C++ standard, I think most C++ developers would be better served by reading Scott Meyers “Effective C++” series. Forget about knowing the grimy details of of the standard. I would be happy for them know RAII, and avoid naked ‘delete’ calls.
I have some decent C++ experience, but even I try to avoid areas of the language where you have to be a language lawyer trying to parse if what you are doing is undefined behavior.
Yes, ISO c++ standard is the foundation, but there are a lot more idioms and other knowledge to learn about C++ that is far more important for making good C++ developers.
The target of the ISO standard is not your average developer, but rather the people who write the compilers, standard libraries, and books that bring C++ tools and knowledge to the general developer. For them $200 is nothing compared to the time and effort of those endeavors.
Once you're actually trying to implement the system though, suddenly all of that language becomes really helpful.
CLARIFICATION: I suppose that might have been your point--that not much hindering of understanding is going on among the broad C++ community due to standards (un-)availability.
I'm realizing now that the original question was more about those developers doing work on C++ compilers and such than the broad community. Even so, I guess every heavy contributor and project like GCC, LLVM... have bought their own copy of the standard.