Select Page

The C and C ++ programming languages ​​have for years marked the history of computing and information and communication technology, in full resemblance to the Unix operating system (and its variants) for which they were first created. It can be said without fear that the birth of the Unix system and the C language marked the birth of modern computing. Like many other important achievements, the C language has undergone various qualitative improvements over the years. One of the great achievements of this language is the fact that it has stayed relevant (even for some essential applications) and has not gone out of fashion even today after almost 50 years since its first release. This success is due to the genius of the authors and the philosophy of its design, similar to the philosophy of Unix systems. Not to mention the tremendous impact of C language on other later programming languages. The C ++ language is practically the C language equipped with object-oriented mechanisms. The influence of the C language has been essential in C #, Objective-C, Java, Perl, PHP, JavaScript, Swift, Python, and more. All of these languages ​​base syntax and control structures on those of C languages. In addition to programming languages, C tools have also been profoundly influenced by tools such as the CSH command interpreter, AWK and SED word processing languages, and many more. widely used commands or software today. The most important C language applications are:

  • 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.