A Brief History of C Programming

January 23, 2020

There are many programming languages in use today, one of which is C. There are many offshoots of the C programming language, including Objective-C, C++, and C#. None of these are the same language. So, how did C begin?

The Beginning

The C programming language came out of Bell Labs in the early 1970s. According to the Bell Labs paper The Development of the C Language by Dennis Ritchie, “The C programming language was devised in the early 1970s as a system implementation language for the nascent Unix operating system. Derived from the typeless language BCPL, it evolved a type structure; created on a tiny machine as a tool to improve a meager programming environment.” Originally, Ken Thompson, a Bell Labs employee, desired to make a programming language for the new Unix platform. Thompson modified the BCPL system language and created B. However, not many utilities were ever written in B due to its slow nature and inability to take advantage of PDP-11 features in the operating system. This led to Ritchie improving on B, and thus creating C.

Early Implementations and Language Standard

The development of C was to become the basis for Unix. According to the Bell Labs paper, “By early 1973, the essentials of modern C were complete. The language and compiler were strong enough to permit us to rewrite the Unix kernel for the PDP-11 in C during the summer of the year.” This now meant that C was becoming a strong language that could, and would be, implemented across many systems. By the middle of the 1970s, the C-based Unix was used in many projects within the Bell System as well as “a small group of research-oriented industrial, academic, and government organizations outside [Bell Labs]”.

In 1978, Brian Kernighan and Dennis Ritchie published The C Programming Language, which would serve as the language reference until a formal standard was adopted. Five years later, the American National Standard Institute (ANSI) formed the committee, X3J11, to establish the formal standard of C. The C standard was ratified as ANSI X3.159-1989 “Programming Language C”. This was the first formal standard of C. Currently, we are on the fourth standard of C, known as C18 as it was published in June of 2018 JavaTpoint.

Uses Today

According to Toptal, UNIX operating systems are written in C and most of Linux is also in C. Also databases such as Oracle Database, MySQL, MS SQL Server, and PostgresSQL are at least partially written in C. C is the basis of many system kernels. Other programming languages, like Python and Perl, use compilers or interpreters that are written in C.

C has changed over the years and is still a common language to use in lower level programs, like kernels. But it is also used for many applications ranging from device drivers to other programming languages’ compilers or interpreters. The language also made way for C++, Objective-C, C#, and many more C-based languages that each have their own speciality.