standards for the C programming language

The beginning



Pre-standarization 
Brian Kernighan and Dennis Ritchie introduced the C programming language to the world in 1978 through a book called, The C Programming Language. This book served for more than 10 years as an informal specification for the C language referred to as K&R C.

The first STANDARDIZATION


C89/C90
For the sake of reaching an agreement on a standard library for C, and the need for a formal specification for the C programming language, the  American National Standards Institute (ANSI) formed a committee to achieve that. The came up with ANSI X3.159-1989 referred to also as ANSI C, Standard C or C89 for short. Later on the International Organization for Standardization (ISO) adopted the C89 standard with slight modification. Generally C89 and C90 refer to the same language.

The amendment


C95

In this standard published in 1995, some improvement in functionality and some bug fixing were made to the former standard. Its full name is ISO/IEC 9899/AMD1:1995 also known as C95.

A revision


C99
(ISO/IEC 9899:1999)
This standard, published in 1999, was a significant revision of the later standard (C89/C90). Some important features were introduced like in-line functions, several new data types etc. Another important feature was the support of the IEEE 754 floating point to take advantage of modern processors.

A more thread safe version


C11

This standard introduced in 2011, was an enhancement of the previous standard and had a better multi-threading support via the header  <threads.h> containing thread creation/management functions.

a recap



K&R C was the starting point of a fully functional and portable programming language. C89/C90 was the first standardization as C was gaining more and more popularity. C99 introduced many important features, as inline functions and several data types and more. C11's focus was on setting a safe environment for multi-threading.

Standards for C language

By Yassine Al Harek

Standards for C language

  • 554