4 ms·
There are people who just don't know C++ and people who also don't know that they don't know C++ This makes the existence of JTC1/SC22/WG21 aka "The C++ Standa
by tialaramex 2y ago
There are people who just don't know C++ and people who also don't know that they don't know C++
This makes the existence of JTC1/SC22/WG21 aka "The C++ Standards Committee" more akin to the Académie française (which officially defines the French language, but that's not how natural languages actually work) than many C++ proponents seem to grasp.
- kazinator 2y agoThe analogy isn't very good, because the natural French language isn't a minefield full of undefined behavior. In Linguistics, natural language, and native speaker intuition is the gold standard. The theory of the language is deemed to be wrong where it fails to capture it. So right off the bat we know that a prescriptive institution like Académie française is on linguistic shaky ground; it is not aligned with science. In computing, the specification is the gold standard, followed by documented, committed implementation behaviors.
- devjab 2y agoYou don’t have to follow the specification. If enough people don’t, the standard committees will eventually adjust the standards, or, make more standards.
- kazinator 2y agoIf enough implementors don't follow the specification, in certain ways, maybe.
- doctor_eval 2y ago> In computing, the specification is the gold standard, followed by documented, committed implementation behaviors. Despite what the ever-so-important solution architects will tell you, a specification is just a theory; its implementation is the practice.
- kazinator 2y agoThat's true when you have one implementation of something, and you're lucky enough to have a document that is so detailed that it counts as a specification. The specification of an ISO-standard language is the main contract, taken seriously by implementors. In areas where implementations happen to conflict with it, you will find that over time they give way to the specification. Implementors add their own bits to their local version of the specification. Beyond that are undocumented behaviors. Neither the specification nor implementations give way to wishful thinking on the part of the programmers.
- tialaramex 2y agoIt's true that Mother Nature doesn't care about your wishful thinking, but she also has no time for your paperwork. There's a rough notion of the C++ programming language, and the ISO document is a description written by some humans which resembles it closely enough that you know they weren't describing something else. The people implementing the three major compilers for C++ don't really care about the ISO document†, but the meetings to agree the document serve to also agree changes they should make to their implementations, to a lesser or greater extent. † ISO/IEC 14882:2020 is the current standard. Yes you read that correctly, that's C++ 20. No that's not the "current" C++ language, an ISO document for C++ 23 will be published probably later in summer 2024. Nobody cares. GCC volunteers working on their compiler don't care obviously. Microsoft employees paid a substantial amount of money specifically to work on MSVC as their day job don't care. Nobody cares, the ISO document is purely an exercise in vanity. If you try really hard to buy the "official" ISO publication as an actual paper document, most likely after months of struggle you'll get... an apology and a link to the sprawling PDF for your money.
- staunton 2y agoYou absolutely can buy the ISO publication (though I wouldn't recommend it). Also, given that n new version of the C++ standard is published roughly every three years (and named every three years), I'm not really sure what your point is. Implementors will (mostly) implement the new standards in due time and it actually does matter what the standards say. So what is it that nobody cares about here?
- cjalmeida 2y ago>The analogy isn't very good, because the natural French language isn't a minefield full of undefined behavior. As someone who has been trying to learn it, this sounds exactly like French.