Skip to main content

Good Time To Brush Up On C

The C programming language has been around for more than fifty years, yet it remains a very widely-used language today. Even as somebody who generally uses higher-level languages, I tend to do something with C at least a few times per year. There have been a number of standard revisions over the decades, and I think that now is a good time to brush up on the language.

My knowledge of C has been pretty dated. My most serious use of C was decades ago, using ANSI C (“C89”). My favorite reference has remained C: A Reference Manual by Harbinson and Steele. That book traveled with me to Japan and is still always within easy reach. I see that a 5th Edition came out in 2002, but I do not own it.

This dated knowledge of the language has mostly sufficed because POSIX has only required that a C89 compiler be present on the system. Software is often written using C89 so that it can be easily built on POSIX-compliant systems. One reason why it is a good time to brush up on C is that POSIX 2024 now requires C17. We will likely start to see more software written with more modern C that we have in the past.

Another reason why it is a good time to brush up on C is that the latest standard revision, C23, was published on October 31st. The standard is now official!

Resources

Wikipedia entries provide concise summaries of changes in ANSI C, C99, C11, C17, and C23.

Reference site cppreference.com has pages for C89 (ANSI C), C95, C99, C11, C17, and C23.

Standards documents are sold for high prices, while “drafts” are made available for free. (Like many developers, I find this culture strange and off-putting.) There are drafts available for ANSI C, C99, C11, C17, and C23.

The C23 edition of Modern C, a book by Jens Gustedt, is available for free. The print version is scheduled to be published in 2025.

Author

Travis Cardwell

Published

Tags