4 ms·
these features will eventually trickle down into the mainstream, kind of like C11 is doing at the moment also, unless you're targeting embedded or a very wide
by vitaminka 2y ago
these features will eventually trickle down into the mainstream, kind of like C11 is doing at the moment
also, unless you're targeting embedded or a very wide set of architectures, there's no reason why you couldn't start using C23 today
- bboygravity 2y agoOr in other words, for embedded and existing code: most use c99, some use c11 and nobody uses c23 until at least 10 years from now.
- vitaminka 2y agomost non-embedded and non-legacy codebases could use c23, that's not an insignificant set
- bboygravity 2y agoI would argue that is an insignificant set. Unless you think that code-bases created in the past year are a significant part of code bases that have been created since the inception of humanity.
- dhhfss 2y agoThis depends on the platform. Many embedded systems are based on arm these days and have modern toolchains available. I cannot remember the last time I saw C99 used. C codebases generally use C11 or C17, and C++ code bases use C++20
- pjmlp 2y agoUnless you can vouch for the C++ compiler, the best C++ portable code can offer today is C++17. Also 8 and 16 bit embedded toolchains are certainly not on C11 / C17, they can hardly afford full C89.
- flohofwoe 2y agoSDCC is a niche C compiler for 8-bit CPUs and is more uptodate than MSVC ;P https://sdcc.sourceforge.net/ https://sdcc.sourceforge.net/ That's the nice thing with C: it's much easier for small teams to fully support than the latest C++ standards.
- pjmlp 2y agoNow try to use it on the embedded deployments that require certification.
- bboygravity 2y agoMost devices that are 6+ years old (as far as I can tell) use C99. If not C89. And/or C++17, if that. That's A LOT of devices out there. A lot of which still get maintenance and even get feature updates (I'm working on one right now, C99). So the claim that "C codebases generally use C11 or C17, and C++ code bases use C++20" intuitively sounds like totally untrue to someone working in embedded C/C++. I've been doing this for 15+ years and I've never touched anything higher than C99 or C++17. If you're talking about gaming, sure. But that's not "C code bases generally".