What is C?
C is a structured mid-level programming language for developing software. C follows structured programming in which the instructions are arranged or structured using blocks and functions. C is used for developing operating systems which are system software and also used to create application software. Hence, C is known as middle level language.
Why C? (Advantages of C)
C is a powerful language using which we can develop operating systems, games and other application software. The advantages or characteristics of C language are:
1) Powerful and Flexible: C is a flexible programming language. Using the concepts in C, a programmer can develop software for almost any kind of purpose. Various concepts like pointers, function, structures in C make it a powerful language.
2) Popular: C has wide spread popularity in the programming league as it is very easy to learn, easy to write programs and easy to understand the programs written in C.
3) Portable: C is a machine independent programming language. Code written in C, can be executed on any machine irrespective of the underlying hardware with little or no modifications.
4) Minimum set of Keywords: C89 has 32 keywords. These small set of keywords add power to C language. A large set of keywords does not mean that the language is more powerful.
5) Modular: In C, we can divide a problem into sub problems and solve the sub problems individually using the concept called as functions. This makes the programs written in C modular.
6) C and C++: As C++ is a superset of C, it inherits all the concepts in C, to which other new concepts have been added. So, you can know how powerful the C language is.
Applications of C
The applications which can be developed using C language are literally unlimited. Some of the types of applications which can be developed using C language are:
- Operating Systems
- Embedded System Software
History of C
The root of all modern languages is ALGOL (Algorithmic Language), developed in the early 1960’s. ALGOL was the first language which introduced the concept of structured programming. In 1967, Martin Richards developed the language called BCPL (Basic Combined Programming Language) for writing system software. In 1970, Ken Thompson created a new language using the features from BCPL and called it B. Both BCPL and B were typeless system programming languages.
C was developed by Dennis Ritchie in 1972 by using the features of ALGOL, BCPL and B programming languages along with new features like data types. For many years, C was used mainly in academic institutions, but 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 system and hardware platforms.
The language became more popular after 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”. The rapid growth of C led to the development of different versions of the language that were similar but often incompatible. This was a serious problem for system developers.
In 1983, ANSI (American National Standards Institute) appointed a technical committee to define a standard for C. The committee a version of C in 1989 which is now known as ANSI C. It was then later in 1990 approved by ISO (International Standards Organization). This version of C is also referred as C89.
In 1999, the standardization committee of C has added some new features to enhance the usefulness of the language. The result was the 1999 standard for C, which also known as C99. In 2011, some more new features are added to the C language, which is known as C11.