what is c language ?
C is a middle level programming language
developed by Dennis Ritchie during the early 1970s while working at
AT&T Bell Labs in USA. The objective of its development was in the
context of the re-design of the UNIX operating system to enable it to be
used on multiple computers.
UNIX had been designed in 1969 by Ken
Thompson, who wrote the system in assembly language in a DEC PDP-7
computer. Thompson made improvements and added expansion to complete the
system. Brian W. Kernighan named the system UNIX, mostly written in
assembly code.
However, besides assembler and FORTRAN,
UNIX also included an interpreter for the programming language B. This
language B was now used for improving the UNIX system. Being a high
level language, B allowed much faster production of code than in
assembly language. Still, B suffered from drawbacks as it did not
understand data-types and did not provide the use of “structures”.
These drawbacks became the driving force
for Ritchie for development of a new programming language called C. He
kept most of language B’s syntax and added data-types and many other
required changes. Eventually C was developed during 1971-73, containing
both high-level functionality and the detailed features required to
program an operating system. Hence, many of the UNIX components
including UNIX kernel itself were eventually rewritten in C.
Riding on these advantages, C became
dominant and spread quickly beyond Bell Labs replacing many well-known
languages of that time, such as ALGOL , PL/I etc. Customization of
language followed next and organizations started designing their own
version of the language. This led to lack of standardization and created
a new problem for system developers which forced American National Standards Institute (ANSI)
in 1983 to form a committee to establish a standard definition of C. In
1988, they established the standard definition ANSI C. Further in 1990,
ANSI C was approved by the International Standards Organization (ISO) .
C99 standard was the next revision; it was published in 1999 and introduced new features like advanced data types etc.
The C language has formed the basis for
many languages including C++, Java, JavaScript, Go, Rust, Limbo, LPC,
C#, PHP, Python, Perl, Verilog and C-shell.
Benefits of C
- As a middle level language, C combines the features of both high level and low level languages. It can be used for low-level programming, such as scripting for drivers and kernels and it also supports functions of high level programming languages, such as scripting for software applications etc.
- C is a structured programming language which allows a complex program to be broken into simpler programs called functions. It also allows free movement of data across these functions.
- C language is case-sensitive.
- C is highly portable and is used for scripting system applications which form a major part of Windows, UNIX and Linux operating system.
- C is a general purpose programming language and can efficiently work on enterprise applications, games, graphics, and applications requiring calculations.
- C language has a rich library which provides a number of built-in functions. It also offers dynamic memory allocation.
History of C++
The origin of C++ dates back to 1979 when Bjarne Stroustrup, also
an employee of Bell AT &T, started working on language C with
classes. He borrowed desirable features from many other languages like
Simula, Ada, ML, CLU and ALGOL 68. Thus, in addition to features of C
language, C++ also included classes, strong type checking, default
function argument and basic inheritance. Till 1983, it was called C with
classes, and in 1983 it was named C++. During 1998, a joint ANSI-ISO
committee released the specification for C++ language standards.
In mid-2011, C++11, a new C++ standard
was released. It was considerably influenced from the Boost library
project and many of the new modules were sourced directly from the
corresponding Boost libraries. It also added other new features
including a comprehensive randomization library, regular expression
support , a new C++ time library, a standard threading library, atomics
support, auto keyword, improved support for unions and
array-initialization lists, new templates and container classes. C++14,
released in December 2014, included smaller improvements and bug fixes
over C++11.
Benefits of C++
- C++ is a highly portable language and is often the language of choice for multi-device, multi-platform app development.
- C++ is an object-oriented programming language and includes classes, inheritance, polymorphism, data abstraction and encapsulation.
- C++ has a rich function library.
- C++ allows exception handling, and function overloading which are not possible in C.
- C++ is a powerful, efficient and fast language. It finds a wide range of applications – from GUI applications to 3D graphics for games to real-time mathematical simulations.
