Java, Python, C++ and many more have all directly or indirectly borrowed from C, one of the most widely used computer programming languages of all time.
The general purpose, imperative computer programming language is most suited to developing firmware of portable applications. Proven, flexible and powerful, it can also be used for a variety of different applications.
It was initially designed to be a straightforward compiler – which is a computer program that changes source code written in programming language into another computer language. The most common reason for doing this is to create an executable program.
The aim of C was to provide language constructs that mapped onto machine instructions, to provide low-level access to memory, and to require minimal runtime support. Due to these features, C was found to be suited to many applications that had been previously coded in assembly language, an example being system programming.
Another benefit of C is that it has been designed to promote cross-platform programming. A portably written C program, which is standards-compliant, can be compiled for a wide variety of operating systems and computer platforms with few changes to its source code.
C can be traced back to the 1970s when Dennis Ritchie at Bell Labs started development of C in 1972 on the PDP-11 Unix system. First appearing in Version 2 Unix, the language was not initially designed for portability. However, the language was soon running on different platforms such as a compiler for Honeywell 6000 and an IBM System/730.
With the language name following alphabetically from the B programming language, by 1972 a large part of Unix was rewritten in C, while in 1973 the addition of struct types resulted in C becoming powerful enough that most of Unix’s kernel was now in C language.
In 1978, Ritchie alongside Brian Kernighan first published The C Programming Language – a book which would serve as a handbook to C programmers and referred to as KR.
C kept on getting more and more popular, with C being implemented on mainframe computers, minicomputers and microcomputers, including the IBM PC, in the late 1970s and into the 1980s. In 1983 the American National Standards Institute established a standard specification of C, known as ANSI C, with even today’s software developers urged to conform to the standards in order to aid portability between compilers.