What is C Language?
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, that is why it is known as
mother language.
It can be defined by following ways:
Mother language
System programming language
Procedure-oriented programming language
Structured programming language
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, Kernels etc. are written in C language and most of languages follows c syntax 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 softwares. C language is a system
programming language because it can be used to do low level programming (e.g. driver and 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.
History of C Language
History of C language is interesting to know. Here we are going to discuss brief history of
c language.
C programming language was developed in 1972 by Dennis Ritchie at bell laboratories of
AT&T (American Telephone & Telegraph), located in U.S.A.
Dennis Ritchie is known as the founder of c language.
It was developed to overcome the problems of previous languages such as B, BCPL etc.
Initially, C language was developed to be used in UNIX operating system. It inherits
many features of previous languages such as B and BCPL.
Features of C Language
C features
C is the widely used language. It provides a lot of features that are given below.
Simple
Machine Independent or Portable
Mid-level programming language
structured programming language
Rich Library
Memory Management
Fast Speed
Pointers
Recursion
Extensible
1) Simple
C is a simple language in the sense that it provides structured approach (to break the problem into
parts), rich set of library functions, data types etc.
2) Machine Independent or Portable
Unlike assembly language, c programs can be executed in many machines with little bit or no change.
But it is not platform-independent.
3) Mid-level prorgramming language
C is also used to do low level programming. It is used to develop system applications such as kernel,
driver etc. It also supports the feature of high level language. That is why it is known as mid-level
language.
4) Structured prorgramming language
C is a structured programming language in the sense that we can break the program into parts using
functions. So, it is easy to understand and modify.
5) Rich Library
C provides a lot of inbuilt functions that makes the development fast.
6) Memory Management
It supports the feature of dynamic memory allocation. In C language, we can free the allocated memory
at any time by calling the free() function.
7) Speed
The compilation and execution time of C language is fast.
8) Pointer
C provides the feature of pointers. We can directly interact with the memory by using the pointers. We
can use pointers for memory, structures, functions, array etc.
9) Recursion
In c, we can call the function within the function. It provides code reusability for every function.
10) Extensible
C language is extensible because it can easily adopt new features.