History of C
Before we can begin to write serious programs in C, it would
be interesting to find out what really is C, how it came into existence and how
does it compare with other programming languages. In this articles, we would
briefly outline these issues.
Four important aspects of any language are—the way it stores
data, the way it operates upon this data, how it accomplishes input and output,
and how it lets you control the sequence of execution of instructions in a
program. We would discuss the first three of these building blocks in this
articles.
{tocify}
$title= {Table of Contents}
What is C?
C is a programming language developed at AT & T's Bell
Laboratories of USA in 1972 by Dennis Ritchie. C became popular because it is
simple and easy to use. An opinion that is often heard today is—“C has been
already superseded by languages like C++, C# and Java, so why bother to learn C
today”. I seriously beg to differ with this opinion. There are several reasons
for this. These are as follows:
(a) C++, C# or Java make use of a principle called Object
Oriented Programming (OOP) to organize programs which offers many advantages.
While using this organizing principle, you need basic programming skills. So it
makes more sense to first learn C and then migrate to C++, C# or Java. Though
this two-step learning process may take more time, but at the end of it, you
will definitely find it worth the trouble.
(b) Major parts of popular operating systems like Windows,
UNIX, Linux and Android are written in C. Moreover, if one is to extend the
operating system to work with new devices, one needs to write device driver
programs. These programs are written exclusively in C.
(c) Common consumer devices like microwave ovens, washing
machines and digital cameras are getting smarter by the day. This smartness
comes from a microprocessor, an operating system and a program embedded in
these devices. These programs have to run fast and work in limited amount of
memory. C is the language of choice while building such operating systems and
programs.
(d) You must have seen several professional 3D computer
games where the user navigates some object, like say a spaceship and fires
bullets at invaders. The essence of all such games is speed. To match this
expectation of speed, the game has to react fast to the user inputs. The
popular gaming frameworks (like DirectX) that are used for creating such games
are written in C.
I hope that these are very convincing reasons why you should
adopt C as the first step in your quest for learning programming.
History of C
“C” seems a strange name for a programming language.
But this strange sounding language is one of the most popular computer
languages today because it is a structured, high-level, machine independent
languages. It allows software developers to develop programs without worrying
about the hardware platforms where they will be implemented.
The root of all modern languages is ALGOL, introduced
in the early 1960s. ALGOL was the first computer language to use a block
structure. Although it never became popular in USA, it was widely used in
Europe. ALGOL gave the concept of structured programming to the computer
science community. Computer scientists like Corrado Bohm, Guiseppe Jacopini and
Edsger Dijksta popularized this concept during 1960s. Subsequently, several
languages were announced.
In 1967,
Martin Richards developed a language called BCPL (Basic Combined Programming
Language) primarily for writing system software. In 1970, Ken Thompson created
a language using many features of BCPL and called it simply B. B was used to
create early versions of UNIX operating system at Bell Laboratories. Both BCPL
and B were “typeless” system programming languages.
C was evolved
from ALGOL, BCPL and B by Dennis Ritchie at Bell Laboratories in 1972. C uses
many concepts from these languages and added the concept of data types and
other powerful features. Since it was developed along with the UNIX operating
system at Bell Laboratories. Both BCPL and B were “typeless” system programming
languages.
C was evolved
from ALGOL, BCPL and B by Dennis Ritchie at Bell Laboratories in 1972. C uses
many concepts from these languages and added the concept of data types and
other powerful features. Since it was developed along with the UNIX operating
System, it is strongly associated with UNIX. This operating System, which was
also developed at Bell Laboratories, was coded almost entirely in C. UNIX is
one of the most popular network operating systems in use today and the heart of
the Internet data superhighway.
For many
years, C was used mainly in academic environments, but eventually with the
release of many C compilers for commercial use and the increasing popularity of
UNIX, it began to gain widespread support among computer professionals. Today,
C is running under a variety of operating systems and hardware platforms.
During 1970s,
C had evolved into what is now as “traditional C”. The language became more
popular after publication of the book ‘The C programming Language’ by Brian
Kerningham and Dennis Ritchie in 1978.The language came to be known as “K&RC”
among the programming community. The rapid growth of C led to the development
of different versions of the language that were similar but often incompatible.
To assure
that the C language remains standard, in 1983, American National Standards
Institute (ANSI) appointed a technical committee to define a standard for C.
The committee approved a version of C in December 1989 which is now known as
ANSI C. It was then approved by the International Standards Organization (ISO)
in 1990. This version of C is also referred to as C89.
During 1990’s
C++, a language entirely based on C, Underwent a number of improvements and
changes and became an ANSI/ISO approved language in November 1977. C++ added
several new features to C to make it not only a true object-oriented language
but also a more versatile language. During the same period, Sun Microsystems of
USA created a new language Java modelled on C and C++.
All popular computer languages are dynamic in nature. They continue to improve their power and scope by incorporating new features and C is no exception. Although C++ and Java were evolved out of C, the standardization committee of C felt that a few features of C++/ Java. If added to C, would enhance the usefulness of the language. The result was the 1999 standard for C. This version is usually referred to as C99. The history and development of c is illustrated in Figure 1.