C programming language was designed and written by Dennis Ritchie. It was developed at AT & T's Bell Laboratories of USA in the year 1972. AT & T was known as Bell Telephone Laboratory. C language was very closely related to UNIX. C is one of the most popular and common programming languages among programmers.
C was derived from two programming languages and they are Basic Combined Programming Language (BCPL) and B Language. BCPL was developed by Martin Richards. B was developed by Ken Thompson. C was designed to write operating systems. B was developed by Ken Thompson to write a new language for UNIX operating system. Dennis Ritchie named this language as C because C comes after B in alphabetical order. Initially the plan was to develop UNIX operating system using C language but C language is implemented
on UNIX operating system. To be honest with you, C is strongly associated with UNIX operating system but also runs on other operating systems like MS-DOS, windows operating systems, Linux, etc.
In 1978, Dennis Ritchie and Brian Kernighan published elaborated description of C together. There were some short comings of K & R C implementation and it was overcome by ANSI. ANSI stands for American National Standard Institute standards.
1.1 Historical Development of C
In 1960, lot of specific purpose languages came into limelight. FORTRAN was used for Scientific and Engineering applications, COBOL was used for commercial applications, etc. AN international committee was setup to develop a general purpose language and then ALGOL 60 came into existence. But ALGOL 60 was too general and too abstract.
Figure Historical Development of C
Another language came into existence and it was named Combined Programming Language (CPL). It was too hard to learn and really difficult to implement. It was too complicated populated with many features.Basic Combined Programming Language (BCPL) came into existence. It was developed at Cambridge University. But BCPL was too specific and hence it became less powerful. BCPL was followed by B language developed by Ken Thompson. But B language too became specific. So Dennis inherited features of B, BCPL and added some features to develop a new language and named it C in 1972. It serves both as general-purpose language and specific-purpose language.
1.2 Features of C Language
There are many reasons behind the popularity of C but popular factors are as follows:
- By using proper C construct, programmer is free to anything. The language is simple and flexible.
- Portable C compiler was widely available which could be attached to any machine easily.
C language is a middle level language. Programming languages can be easily divided into three broad categories and they are:
The way I am using English language to communicate you about C language similarly, computer needs a language to understand what the programmer want it to do!! The procedure of learning English language began with learning alphabets or characters followed by the procedure of combining alphabets into words, which in turn followed the combination of words into sentences and then paragraphs. For learning C, we have to first understand alphabets, numbers and symbols followed by the proper usage of constants, variables and keywords. Then we shall learn to construct instructions which required the proper usage of constants, variables and keywords. A group of instructions are combined to form a program.
Let us point out some of the main characteristics of C language:
- It is a structured programming language
- It is a general-purpose language
- It is helpful in development of system software
- It has a rich set of operators
- It can be used to represent expressions in a compact way
- It allows you to manipulate the internal processor registers
- It supports an extensive set of data types
- It provides portability. Any C program can run on different machine architectures with little or no modification.
- It allows to type any number of statements in a single line.It does not have any rigid format
- It supports pointer arithmetic and pointer manipulation
- It has the ability to extend itself by adding functions to its library
- It has less number of reversed words
1.3 Applications of C
C is a portable and efficient language hence it is used to develop both system and application software. Some of them are as followed:
1. System software
- Operating Systems
2. Application Software
- Spread sheets
- Graphics packages
- CAD/CAM applications
- Database Management System (DBMS)
- Office automation tools
- Word processors
- Scientific and Engineering applications
We are concluding the first chapter with this. Second chapter with deal with the execution environment which we will use to learn the language. Thank you.