C seems like 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 language. 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 the 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 Dijkstra popularized this concept during the 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 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 the 1970s, C had evolved into what is now known as "traditional C". The language became more popular after the publication of the book The C Programming Language' by Brian Kerningham and Dennis Ritchie in 1978. The book was so popular that the language came to be known as "K & R C" 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. this posed a serious problem for system developers.

To ensure 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 1989 which is now known as ANSI C. it was then approved by the International Standards Organization (ISO) in 1990. the standard was updated in 1999. the history of ANSI C is given in the below image.

HISTORY OF C Programming Language

Importance of C

The increasing popularity of C is probably due to its many desirable qualities. it is a robust language whose rich set of built-in functions and operators can be used to write any complex program. the C compiler combines the capabilities of an assembly language with the features of a high-level language and therefore it is well suited for writing both system software and business packages. in fact, many of the C compilers available in the market are written in C.

Programs written in C are efficient and fast. this is due to its variety of data types and powerful operators. it is many times faster than BASIC. for example, a program to increment a variable from 0 to 15000 takes about one second in C while it takes more than 50 seconds in an interpreter BASIC.

There are only 32 keywords and its strength lies in its built-in functions. Several standard functions are available which can be used for developing programs.

C is highly portable. this means that C programs written for one computer can be run on another with little or no modification. portability is important if we plan to use a new computer with a different operating system.

C language is well suited for structured programming, thus requiring the user to think of a problem in terms of function modules or blocks. A proper collection of these modules would make a complete program. this modular structure makes program debugging, testing, and maintenance easier.

Another important feature of C is its ability to extend itself. A-C program is basically a collection of functions that are supported by the C library. we can continuously add our own functions to the C library. with the availability of a large number of functions, the programming task becomes simple. Before discussing specific features of C, we shall look at some sample C programs, and analyze and understand how they work.