- Writing major operating systems (originally Unix)
- Writing command code for computer or electronic parts
- Code writing for applications on interfaced and networked devices
- Writing compilers, databases, web browsers, etc.
- Development of testing or verification software and simulators
The origin of the C language is therefore closely linked to the work of researchers at Bell Labs on the creation of the Unix system and efforts to make it easily portable between different computers. This system was originally designed and written in low-level languages for PDP-7 computers and a little later PDP-11. Those languages were difficult and inadequate for writing the various software tools needed. For this reason, Ken Tomson developed the B language which was a simplification of the BCPL language. The latter was a high level language created several years ago (in 1967) by Martin Richards. The B language was simpler and easier to use, but it did have some important drawbacks. The basic concept of data type was missing and everything had to be presented as a word in memory. Also missing were structures that were crucial to the design of operating systems (at that time the Unix system). The codes written in B language were executed slowly. To overcome these problems, Dennis Ritchie (Dennis Ritchie, 1941 – 2011) worked on the creation of language C. 1971 – 1973 The syntactic bases of language C were the same as those of language B (naming C as a consequence of B relates precisely with this fact), but the type of data, structures and other important concepts were added. A powerful combination of high-level functionality with the details needed for programming operating systems was created. This led the Unix system modules of that time to be gradually rewritten in C. The C version used in these years is known as “traditional C”. The first C-language compiler to be incorporated into the Unix system was first created. The Unix 4 system released in November 1973 included a kernel with most of it rewritten in C.
The development of the C language in the 1970s continued to be closely linked to the development of the Unix system. The code for this system needed to be easily moved to various microprocessor and computer models. To this end, in 1977 Denis Ritchie and Steven Johnson implemented some further changes. Johnson’s portable C-compiler served as the basis for various C-language applications on many computer platforms. Another important step at this time was the publication of the first edition of the book “The C Programming Language” (original: “The C Programming Language”) by Brian Kernigen and Denis Ritchie. This book gained immense popularity and served for many years as an informal C language specification for programmers and its main source of instruction. For this reason, the variant of C language presented in that book became known as K&R C. Regarding the main merits of developing C language, Knigenigengen stated that he had no role in its design. “It’s totally Denis Rich’s job,” was one of his sayings. Despite this fact, Brian Krenigen is the author of many Unix programs (written in C) as well as the famous “Hello World” program. The latter has since become the symbol of the original illustrative code that appears in the books of the various programming languages.