History of C Programming Language
History of C Programming Language
Introduction
That's when Ritchie joined Ken Thompson and Brian Kernighan in another
project. The project involved developing a new file system. Thompson developed
a new file system for the DEC PDP-7 supercomputer in assembly language.
Thereafter, the creators of the file system made many improvements to it,
resulting in the birth of the UNIX operating system. Even the origin of the name
UNIX can be traced to its predecessor, Multics. Originally, the name was Unics
(Uniplexed Information and Computing Service) as a pun on Multics
(Multiplexed Information and Computer Services). Later, Unics changed to
UNIX. UNIX was written in assembly language which, though ideal for
machines, was a difficult proposition for human beings. To interpret and operate
UNIX, the languages Fortran and B were used. It is here that the idea of
developing the C language began to form in the minds of its creators.
The B language was a useful one in the context of the challenges the creators of
UNIX faced with the operating system. The B language was taken from BCPL by
Martin Richards. As already stated, UNIX was written in assembly language. To
perform even small operations in UNIX, one needed to write many pages of code.
B solved this problem. Unlike assembly language, B needed significantly fewer
lines of code to carry out a task in UNIX. Still, there was a lot that B could not
do. Much more was expected from B in the context of rapidly changing
requirements. For example, B did not recognize data types. Even with B, data
types were expressed with machine language. B also did not support data
structures.
It was clear something had to change. So, Ritchie and his colleagues got down to
overcoming the limitations. The C language was developed in 1971-73. Note that
for all its limitations, C owes its birth to B because C retained a lot of what B
offered, while adding features such as data types and data structures. The name
C was chosen because it succeeded B. In its early days, C was designed keeping
UNIX in mind. C was used to perform tasks and operate UNIX. So, keeping
performance and productivity in mind, many of the UNIX components were
rewritten in C from assembly language. For example, the UNIX kernel itself was
rewritten in 1973 on a DEC PDP-11.
Ritchie and Kernighan documented their creation in the form of a book called
"The C Programming Language." Though Kernighan claimed that he had no role
in the design of C, he was the author of the famous "Hello World" program and
many other UNIX programs.
History of C programming
In 1960s Dennis Ritchie was working at AT&T Bell Labs to develop an operating
system. At those times all the systems used assembly language which required
pages of codes for even simple tasks.
The UNIX system which was built by both Dennis Ritchie and Ken
Thompson was built using assembly language. Later they changed the chip
system of UNIX from PDA-7 to PDP-11. At that time B (developed by Thompson
himself) was the most advanced programming language and they thought of
implementing it on UNIX but the compatibility issue of B with PDA-11 led to
the development of new high-level programming language which was later
named C as it was the successor and influenced from B.
Initially, C was widely used to develop the UNIX operating system and nowadays
also almost all major operating systems are written in C and C++. In 1978 a book
named The C Programming Language was published written by Denise and
Kernighan which became widely popular and became one of the most successful
books written about computer science.
Interesting Facts About History of C Programming
Language
For many years, the de facto standard for C was the version supplied with the
UNIX operating system. In the summer of 1983 a committee was established to
create an ANSI (American National Standards Institute) standard that would
define the C language. The standardization process took six years (much longer
than anyone reasonably expected).
The ANSI C standard was finally adopted in December 1989, with the first copies
becoming available in early 1990. The standard was also adopted by ISO
(International Standards Organization), and the resulting standard was typically
referred to as ANSI/ISO Standard C. In 1995, Amendment 1 to the C standard
was adopted, which, among other things, added several new library functions.
The 1989 standard for C, along with Amendment 1, became a base document for
Standard C++, defining the C subset of C++. The version of C defined by the
1989 standard is commonly referred to as C89.
During the 1990s, a new standard for C was being developed. It was the 1999
standard for C, usually referred to as C99. In general, C99 retained nearly all of
the features of C89. The C99 standardization committee focused on two main
areas: the addition of several numeric libraries and the development of some
special-use, but highly innovative, new features, such as variable-length arrays
and the restrict pointer qualifier. These innovations have once again put C at the
forefront of computer language development.
Conclusion
Just like most of the world's greatest inventions, C was born out of necessity.
Circumstances and problems provided the inspiration. However, unlike many
programming languages that are now extinct or almost extinct, C has stood the
test of time and thrived. Some languages are now categorized as niche languages
– for example, Fortran is now mostly used only for engineering purposes
and COBOL is struggling to stay relevant. C has not only stayed relevant, but has
also provided inspiration for the development of many other programming
languages. Even powerful technology waves like IoT, AI and automation have
failed to dislodge C from its position of prominence. It appears that this language
will continue to be with us long into the future as well.