Home | Projects | Notes > C Programming > History of C Standards
The C programming language was initially developed in AT&T Bell Labs by Professor Brian W. Kernighan and Dennis Rithche, known as K&R C.
In 1970, C programming became very popular but without any serious standardization to the language.
The non-official standard was called K&R C, which led to many ambiguities among different compiler programmers, and that led to non-portable programs.
K&R C was the first non-official C standard.
In 1989 American National Standard Institute designed and approved the first official C standard called X3.159-1989, and in 1990 it was approved by ISO as an international standard for C programming language: ISO/IEC 9899:1990 (This is also called ANSI C or C89 or C90 standard in short.)
The language underwent a few more changes (addition of new features, syntaxes, data types, etc.) and newly updated standard released in 1999 under the ISO tag ISO/IEC 9899:1999 which is also called C99 standard in short.
C11 is an informal name for ISO/IEC 9899:2011, which is a new standard approved in December 2011. C11 supersedes the C99 standards.
In this notebook, we will be using the C11 standard with some compiler (GCC) extensions (gnu11).
Note that if you have written a program using C90 standard, then it will compile without any issues in -std=c99
compilation (backward compatibility).
If you have written a program using C99 standard specific features, then it may not compile successfully in C90 compilation.
Nayak, K. (2022). Microcontroller Embedded C Programming: Absolute Beginners [Video file]. Retrieved from https://www.udemy.com/course/microcontroller-embedded-c-programming/