3 ms·
Who is the audience for new features in C? And who is driving stuff through the standardisation process? Is this stuff likely to make its way through to embedde
by twic 3y ago
Who is the audience for new features in C? And who is driving stuff through the standardisation process? Is this stuff likely to make its way through to embedded toolchains? Or is this for people who are maintaining existing codebases?
- hgs3 3y ago> Who is the audience for new features in C? Folks like myself who use C to write system software. > Is this stuff likely to make its way through to embedded toolchains? Embedded toolchains based on GCC or Clang will presumably see these features one day.
- quesomaster9000 3y agoThe early adopters are usually transpilers (or code generators) which can quickly take advantage of new features without the effort of rewriting an entire codebase. In the same way that Rust used underlying `const` attributes in LLVM (and found all the weird edge cases), and Nim used C as an intermediate as have many other lisp or object-ish languages.
- nitrix 3y agoChanges to the Standard usually happens as a result of defect reports (confusing details that implementation writers want clarity on) or vast enough general adoption (unifying how implementations were differently achieving the same thing). You can read #13 of the Charter https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2086.htm https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2086.htm As for the audience, it's all the C developers, the open-source and commercial compiler implementations, vendors of libraries, tooling, services, learning material and everything else built in C; which is just innumerable. Each Standard version released supersedes and obsoletes the previous versions. Intentionally, the versions are meant to be as backwards compatible as possible so that one can mix and match C89/C99/C11 codebases with minimum effort. C has gained only a handful of features in the last 40 years. Compared to the great many things that are improved w.r.t. undefined/implementation-specific/unspecified behaviors, or removed to keep up with modern times (e.g. Trigraphs, Two's Complement integer representations, etc). I'd say: (1) upgrading is not the spooky thing people make it out to be. Go, Rust, they all move much faster than this and have very ambitious big design ideas on their mind. (2) It's necessary to take good care of C as it, and the things built in it, will realistically outlive many of us.
- cozzyd 3y agoThere is plenty of new C code.
- pantalaimon 3y agoMost embedded toolchains are ARM or RISC-V GCC these days, they get all the features.
- nrclark 3y agoYes, I'd expect they will. Most embedded toolchains these days are built around GCC. So as GCC grows new features, embedded toolchains will get them too.