4 ms·
C23 features won't help many C users because it's a community that takes an uncommonly long time to move to new versions. Linux only recently moved from C89 to
by devnullbrain 3y ago
C23 features won't help many C users because it's a community that takes an uncommonly long time to move to new versions. Linux only recently moved from C89 to C11.
- flohofwoe 3y agoTBF it makes little sense to change the language standard of an existing project because then you end up with large areas in the old standard and some areas in the new standard. And bringing the entire code base to the new standard is just pointless busywork and might actually introduce new bugs. As long as Linux doesn't prevent user space code to be written in more recent C standards (which it obviously does) it's fine. Apart from that, there's also the Visual Studio compiler team to blame because they didn't manage to catch up with C99 until around 2015 (and even then only an incomplete implementation), and only in 2019 decided to 'officially' support the latest C standards again. In general it makes a lot more sense today to start new C projects in more recent standard versions then it was 5..10 years ago.
- devnullbrain 3y agoStrong agree on all points. The gains from bumping e.g. a C++ version are much higher.
- uecker 3y agoThe cost of pumping a C++ version is also much higher. For C, you lose support for older compilers and minor platforms that haven't catched up, but if this isn't a problem, then only very minor (or no) modifications to the source should be required. Newer features can then be used gradually where it makes sense.