Linus Torvalds prepares to move the Linux kernel to modern C

Emotional, Burning, Unlimited Tuned Laboratory

The Linux kernel’s foundation is the ancient C89 standard of C. Now, Torvalds has decided to upgrade to 2011’s more modern C11 standard.

We all know Linux is written in C. What you may not know is that it’s written in a long-outdated C dialect: The 1989 version of the C language standard, C89. This is also known as ANSI X3.159-1989, or ANSI C. Linus Torvalds has decided that enough is enough and will move Linux’s official C to 2011’s C11 standard.

This isn’t as big a transition as it may seem. C89 still has almost universal support. Because any C compiler is backward compatible with earlier versions, you won’t have any trouble compiling or running a C89 program. So, a C11 compliant compiler won’t have any trouble with any C89 legacy code.

So why bother? The change being made doesn’t include useful features that appear in newer versions.