Hacker News new | past | comments | ask | show | jobs | submit login

They're discussing a move to C11, which counts in my book.



yeah fair enough should've read the rest of the article before my snide comment


I haven't touched C in any serious capacity in quite awhile; how often does C get new revisions, because isn't C11 still more than a decade old?

I understand why the linux kernel folks aren't moving to the bleeding edge (Linux is old, you have to do these ports incrementally), but I'm curious why the pace of language is so slow. I guess it's because C has more or less stabilized and thus further revisions are less necessary?


> how often does C get new revisions

1989, 1995, 1999, 2011, 2017.

The 1995 one was an "amendment", not a full revision (and is mostly additions to libc, which Linux doesn't get to use; the only language change is the addition of digraphs).

C17 was a "bugfix" revision; compilers will have applied these fixes to their C11 implementations, so in effect the only difference between C11 and C17 is the value of __STDC_VERSION__. So for most intents and purposes C11 is still the most recent revision.


Fair enough! As I said, I suppose C doesn't need to change that much; people use C because they know what they're getting, and for that to be the case, it needs to be stable.


Next are C23 (2023) and C26 (2026). C23 is already closed, so fixes will have to go to C26.


> I'm curious why the pace of language is so slow

This is a strength of the language.

If you've ever done CI/CD for a large project in a fluid development ecosystem (e.g. nodeJS), you can understand why it might be refreshing to develop your operating system in a language where standards are measured by the decade.


> but I'm curious why the pace of language is so slow. I guess it's because C has more or less stabilized and thus further revisions are less necessary?

That is a big part of it. C is an old, stable, complete language.

There is also the existence of gnu extensions, which bridge the gap between language revisions. For example, anonymous unions were added in C11 but they have been a gnu extension since forever.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: