2 ms·
I want default behavior which does not surprise me. I have come to understand that this probably means I want a different language, because the C spec essentia
by rectang 5y ago
I want default behavior which does not surprise me. I have come to understand that this probably means I want a different language, because the C spec essentially requires compiler authors to make optimizations which introduce surprising semantics in order to compete on performance with other languages.
It would be fine if I could opt into new semantics — something like Rust's "editions" would resolve my objections about these compiler optimizations. But that doesn't seem to be on offer in the C ecosystem.
- pjmlp 5y agoOnly moving away to other languages will do it. C culture and to certain extent Objective-C and C++ ones are tainted by microptimizaitons while typing, where the compilers are the worst examples. Unfortunely UNIX and C go together, so those that want to keep UNIX like platforms around bettter fix C somehow.
- Gibbon1 5y agoI think that's unfair. The taint is 100% on the C++ side of things. Hopefully the newer compiled languages will kill C++.
- rectang 5y agoThat sucks. I can imagine next generation operating systems improving on Unix technically (standing on the shoulders of giants, yo), but establishing standards a la POSIX will be extremely difficult. It's hard to fight against the interest of platform vendors to lock their users in.
- pjmlp 5y agoMicrosoft fought for several years against C, trying to migrate everyone to C++ as the future of Windows systems programming. Yet Azure Sphere, despite its security message, uses C only SDK. Meanwhile Visual Studio now supports C11 and C17. Market pressure, their customers weren't willing to buy into it, and the new Microsoft also wants all those POSIX FOSS packages written in C running on Windows.