Microcontroller Embedded C Programming Lecture 2| History of ‘C’ and standardization

 

History of ‘C’ language and standardization

 

 

 

History of C programming language and Standardization:

  • The C Programming language was initially developed in AT&T labs by Professor Brian W.Kernighan and Dennis Ritchie, known as K&R C.
  • During the year 1970, ‘C’ programming became very much 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 codes.
  • K&R C was the first non-official ‘C’ standard.

The Birth of ANSI C (C89/C90):

  • In 1989 American National Standards Institute(ANSI) designed and approved first official C standard called X3.159-1989, and in 1990 it was approved by ISO as international standard for C programming language. ISO/SEC 9899:1990 (This is also called ANSI C or C89 or C90 standard in short)

This standard defined the syntax and semantics of the C language and added new features such as function prototypes and the void type. The ANSI C standard became widely adopted, and many compilers implemented the new standard.

Advancements in C99:

  • The language underwent few more changes(addition of new features, addition of new syntaxes, data types, etc.) and a newly updated standard was released in 1999 under the ISO tag ISO/IEC 9899:1999 which is also called C99 standard in short. 

C11: Pushing the Boundaries:

  • C11 is an informal name for ISO/IEC 9899:2011, which is a new standard approved in December 2011. This standard brought further enhancements to the language, addressing issues from previous versions and introducing new features. C11 aimed to make C programming more efficient, expressive, and safer. It superseded the C99 standard, offering improvements in areas such as multi-threading support, alignment control, and more
  • In this course, we will be using the ‘C11’ standard with some compiler(GCC) extensions (gnu11). More on this, we will see later.

C is a general-purpose programming language, which means it can be used for a wide variety of applications, including system programming, device drivers, scientific computing, and business applications.

 

Compatibility:

  • Note that if you have written a code using the C90 standard, then it will compile without any issues in C99 standard compilation(backward compatibility)
  • If you have written a code using C99 standard specific features, then it may not compile successfully in C90 compilation. 

But don’t worry about this, so we’ll see how to set the standard in the compiler later.

Today, C remains a popular language for system programming, embedded systems, and other applications that require high performance and low-level access to hardware. It has also influenced many other programming languages, such as C++, Java, and Python.

 

FastBit Embedded Brain Academy Courses,

Click here: https://fastbitlab.com/course1

 

FastBitLab

The FastBit Embedded Brain Academy uses the power of internet to bring the online courses related to the field of embedded system programming, Real time operating system, Embedded Linux systems, etc at your finger tip with very low cost. Backed with strong experience of industry, we have produced lots of courses with the customer enrolment over 3000+ across 100+ countries.