3 ms·
I think this objection boils down to your perspective on what we mean by "C". It's reasonable for some folks (especially working programmers who need to "get s
by ghettoimp 7y ago
I think this objection boils down to your perspective on what we mean by "C".
It's reasonable for some folks (especially working programmers who need to "get stuff done") to think that "what a reasonable compiler in their problem domain" would do is what "C" means. It's equally reasonable for other folks (especially compiler writers, verification experts, researchers, etc.) to think the ISO standard is what "C" means.
It would be great for the standard to be more "reasonable" and have less undefined behavior. But I, for one, cannot think of a more horrible, thankless chore than actually trying to make that happen. So much code is written in "C", and there are so many compilers and platforms, modern and legacy, that "C" runs on, each with their own notion of "reasonable," that it will take an incredible amount of work.
- microcolonel 7y ago> It would be great for the standard to be more "reasonable" and have less undefined behavior. GCC and Clang are mostly compatible, and as far as the low-hanging fruit is concerned. If you consider them the authority, it generally resolves most interesting questions about what ISO decline to specify. I do not think that there is any great burning need for ISO to go and define things more rigorously.
- pjmlp 7y agoThere are other compilers.
- umanwizard 7y agoC compilers predate the C standard by many years, so “C is what my compiler does” is certainly a valid perspective. Also, the vast majority of programming languages don’t have standards at all, and people still use them productively.
- pjmlp 7y agoExamples of languages with a standards document, describing language semantics and standard library, not necessarily an ISO one. Java, JavaScript, Modula-2, Pascal, C++, Fortran, C#, F#, VB.NET, Eiffel, D, Ada, Common Lisp, Scheme, Python, Scala, Haskell.