C Language
C Language Introduction
“C” is a structured oriented programming language developed at “AT & T Bell Laboratories of USA” in 1972.  It was developed by Dennis Ritche in late 1970’s. It began to replace the more familiar languages of that time like PL/1, ALGOL etc. 

1. “C” programming language features were derived from an earlier language called B(BASIC COMBINED PROGRAMMING LANGUAGE --> BCPL)

2. C language was invented for implementing UNIX operating system.

3. “C” became popular because of its reliability, simple and easy to use.

4. In 1978,Dennies Ritche and Brain Kernighan published the first edition “The C Programming Language” and commonly known as “K & R C

5. In 1983, The American National Standards Institute (ANSI) established a committee to provide a modern C, the “ANSI C” was completed late 1988.

6. Today’s the most popular Linux Operating System and RDBMS MYSQL has been written in C.

7. The UNIX OS, The C compiler and essentially all UNIX application programs have been written in C, The C has now become a widely used professional language for various reasons.
Year Lang Developed By Remarks
1960 ALGOL International Committee too general, too abstract
1963 CPL Cambridge University Hard to learn & implementation
1967 BCPL Cambridge University could deal only special problem
1970 B, AT&T could deal only special problem
1972 C, AT & T Lost Generality of BCPL, B restored

The C Language is developed for creating system applications that direct interacts to the hardware devices such as drivers, kernels’ etc.

C programming is considered as the base for other programming languages, so it is also known as mother language.

It can be defined by following ways :

1. Mother language

2. System programming language.

3. Procedure-oriented programming language.

4. Structured programming language.

5. Mid level programming language.

1) C as a mother language :

C language is considered as the mother language of all the modern languages because most of the compilers, JVMs, Kernals etc. are written in C language and most of languages follows c syntax, for e.g. C++, Java etc.

It provides the core concepts like array, functions, file handling etc. that is being used in many languages like C++, java, C# etc.

2) C as a system programming language :

A system programming language is used to create system software’s. C language is a system programming language because it can be used to do low level programming (e.g. driverand kernel). It is generally used to create hardware devices, OS, drivers, kernels etc. For example, Linux kernel is written in C.

It can’t be used in internet programming like java, .net, php etc.

3) C as a procedural language :

A procedure is known as function, method, routine, subroutine etc. A procedural language specifies a series of steps or procedures for the program to solve the problem.

A procedural language breaks the program into functions, data structures etc.

C is a procedural language. In C, variables and function prototypes must be declared before being used.

4) C as a structured programming language :

A structured programming language is a subset of procedural language. Structure means to break a program into parts or blocks so that it may be easy to understand.

In C language, we break the program into parts using functions. It makes the program easier to understand and modify.

5) C as a mid-level programming language :

C is considered as a middle level language because it supports the feature of both low-level and high level language. C language program is converted into assembly code, supports pointer arithmetic (low level), but it is machine independent (feature of high level).

Low level language is specific to one machine i.e. machine dependent. It is machine dependent, fast to run. But it is not easy to understand.

High Level language is not specific to one machine i.e. machine independent. It is easy to understand.