C is a general-purpose, structured programming language. It bridges the gap between machine language and conventional high-level languages. So let us see in brief History of C Language.
This flexibility allows C language to be used for system programming as well as for applications programming.
C is a powerful language that provides fast program execution. It’s power and fast program execution come from its ability to access low-level commands, similar to assembly language, but with high-level syntax.
The purpose of this chapter is to present an overview of the C programming language its origins, its uses and program Structure.
Table of Contents
History Of C Language
The C programming language was pioneered by Dennis Ritchie at AT&T Bell Laboratories in the early 1970s. He was also known as the father of the C language.
Many of its principles and ideas were taken from the earlier language B and B’s earlier ancestors BCPL and CPL.
CPL:
CPL (Combined Programming Language) was developed in the early 1960s with the purpose of creating a language that was capable of both high levels, machine-independent programming and would still allow the programmer to control the behaviour of individual bits of information.
The one major drawback of CPL was that it was too large for use in many applications.
BCPL:
Basic Combined Programming Language (BCPL) was developed by Martin Richard at the University of Cambridge in 1967.
B:
The language B was developed in 1969-1970 by Ken Thompson. The drawback of the B language did not provide data types. Everything was expressed in machine words.
The BCPL and B were typeless languages in which variables were simply words in memory. These things formed the reason for Dennis M. Ritchie to develop the programming language C.
So in 1972, Dennis M. Ritchie turned the B language into the C language, keeping most of the language B syntax while adding data Orpes and many other changes.
C:
The C language had a powerful mix of high-level functionality and the detailed features required to program an operating system.
Therefore many of the Unix components were eventually rewritten in C. The Unix kernel itself was rewritten in 1973 on a DEC PDP-11.
For many years, the de facto standard for C was the version supplied with the Unix operating system.
It was first described in the “C Programming Language” by Brian Kernighan and Dennis Ritchie in 1978. The Kernighan and Ritchie description is commonly referred to as “K&R C”.
Early commercial implementations of C differed somewhat from Kernighan and Ritchie’s original definition.
Resulting in minor incompatibilities between different implementations of the language.
These differences diminished the portability that the language attempted to provide.
C language Basics:
In the summer of 1983, a committee was established known as ANSI (American National Standards Institute) to create a standard that would define the C language. The standardization process took six years.
The ANSI C standard was finally adopted in December 1989, with the first copies becoming available in early 1990.
The version of C defined by the 1989 standard is commonly referred to as C89.
The standard was also adopted by the ISO (International Standards Organization), and the resulting standard was typically referred to as ANSI or ISO Standard C.
You can download the history of C language Pdf and History of c language ppt from here.
Virtually all commercial C compilers now adhere to the ANSI standard. Many also provide additional features of their own.
During the 1990s, the development of the history of C++ language standard consumed most programmers’ attention.
However, work on C continued quietly along, with a new standard for C being developed. The end result was the 1999 standard for C, usually referred to as C99.
History Of C Language in Hindi is available here.
Features Of C Language
Various Features of C Language are given below:
1. Simple and Robust:
C is a general-purpose, structured programming language. It has the simplicity of a high-level language as well as the power of low-level language.
This aspect of C makes it suitable for writing both application programs and system programs.
Hence it is an excellent, efficient and general-purpose language for most of the application such as mathematical, scientific, business and system software applications.
2. Small in Size and Powerful:
C language consists of 32 English words known as keywords (for examples. if, else, for, break etc.). The power of C lies in a rich set of built-in library functions and a variety of operators.
3. Modularity:
C programs are modular in nature. It Supports Compartmentalization of code and data. This capability makes it very easy for C programs to share sections of code.
We can divide C programs into several modules that will combine in a single module to build the final program.
4. Extensibility:
The C language is extendible since it allows the users to add their own library functions to the library. Sections of code or modules can be stored in libraries for re-use them in future.
5. Portability:
C program written on one computer or operating system can be compiled and run on another computer or operating system with little or no modification.
6. Efficient and Fast:
The compilation and execution of C programs are faster than modern programming languages. This is due to its variety of data type and powerful operators.
7. Efficient Use of Pointers:
C supports the efficient use of a pointer. Pointers have direct access to memory.
8. Bit Manipulation:
It provides a wide variety of bitwise operators to manage data at bit level. We can perform different operations at bit level.
Applications
As we have already seen, C language can be used for developing system software as well as application software.
The different application areas of C language are as follows:
C language can be used for creating system software like Operating Systems, Language Compilers Assembler, Text Editors. Print Spoolers, Network Drivers, Data Bases, Language Interpreters, Utilities, API for hardware etc.
It is used in writing embedded software, firmware for various electronics, industrial automation and communications products which use micro-controllers.
It is used in developing verification software, test code, simulators etc. For various applications and hardware products.
Used in Enterprise applications, gaming software and graphical applications.
Widely used in image processing applications and robotic applications.
Used in Scientific Programming and engineering applications like CAD/CAM.
C implements algorithms and data structures facilitating faster computations in programs. This has enabled the use of C in applications requiring higher degrees of calculations like MATLAB and Mathematical.