You are on page 1of 19

After All These Years, the World is

Still Powered by C Programming.


C is a successor of B language which was
introduced around the early 1970s.

The UNIX operating system’s development started


in 1969, and its code was rewritten in C in 1972.
The C language was actually created to move the
UNIX kernel code from assembly to a higher level
language.
Assembly was also a Programming language.
Unlike assembly language, c programs can be
executed on different machines with some machine
specific changes. Therefore, C is a machine
independent language.

C programming is considered as the base for other


programming languages, that is why it is known as
mother language.
C is intended to do low-level programming(develop
system applications such as kernel, driver, etc) and it
supports the features of a high-level language. So it is a
mid level programming language.

Let’s see some examples of the use of C.


Operating Systems(for Windows,UNIX,LINUX).
Language Compilers(GNU compiler collection,X code).
Text Editors(Code blocks,Atom code editor).
Network Drivers.
Modern Programs.
Databases, Language Interpreters and Utilities.
A C program can vary from 3 lines to millions of lines.
Now C is used in windows,linux,mac,mobile,3D Movies.

Features of C
1. Quality to extend itself - A crucial ability of C is to extend
itself. The C language has its own set of functions in the C
library. So, it becomes easy to use these functions. We can
add our own functions to the C Standard Library and make
code simpler.

2. Implementation of algorithms and data structures -The use


of algorithms and data structures in C has made program
computations very fast and smooth. Thus, the C language
can be used in complex calculations and operations such
as MATLAB.
3. Procedural programming language -C follows a proper
procedure for its functions and subroutines. As it uses
procedural programming, it becomes easier for C to identify
code structure and to solve any problem in a specific series
of code.

4. Dynamic memory allocation -C provides dynamic memory


allocation that means you are free to allocate memory at run
time. For example, if you don’t know how much memory is
required by objects in your program, you can still run a
program in C and assign the memory at the same time.

5. C is often used to implement efficient libraries for less-


efficient languages. For example, many libraries for Python
are implemented in C.
There are many programming languages, today, that allow
developers to be more productive than with C for different
kinds of projects. There are higher level languages that
provide much larger built-in libraries that simplify working
with JSON, XML, UI, web pages, client requests, database
connections, media manipulation, and so on.

But despite that, there are plenty of reasons to believe that


C programming will remain active for a long time.

In programming languages one size does not fit all. Here
are some reasons that C is unbeatable, and almost
mandatory, for certain applications.
Also nowadays, because of highly optimized binaries
generated by modern compilers, it’s not an easy task to
improve on their output with hand written assembly.Such is
its portability and efficiency that “compilers, libraries, and
interpreters of other programming languages are often
implemented in C”. Interpreted languages like Python, Ruby,
and PHP have their primary implementations written in C.
Memory Manipulation-Arbitrary memory address access
and pointer arithmetic is an important feature that makes C
a perfect fit for system programming (operating systems and
embedded systems)
Important Features of C
1) Modularity

 In C, modularity is implemented by using functions.


 Modularity means breaking down a big problem into
smaller parts and writing code for each part.
 Due to modularity features, complications of a
program occurs in time and debugging of program will
become faster.

So it is really one of the best feature of a program.


2) Portability

• If you write a C code in your machine, it will run on any


machine which supports C, without modifying a single
line of code.

• Because the ideas behind C are kept close to the


design of the computer, the compiler (program builder)
can generate machine code/native code for the
computer.
3) Maintain ability

• The ease or difficulty with which a software system can


be modified is known as its maintainability. The
maintainability of a software system is determined by
properties of its source code.

• It is really important as the purpose


of maintainability is to improve effectiveness and
efficiency of maintenance.
4)Documentability

Document-ability means clearly, concisely, and


precisely.

C Language is clear which means easily


understandable and briefly explained with accuracy.

The Documentation Section consists of a set of


comment lines giving the name of the Programmer,
date and other details about the program.
The documentation section helps anyone to get an
overview of the program.
5) Performance

Basically Performance of C is good as performance


here means the speed of performing the given work or
given coding.

But still we can improve the performance of our


program by
i) Reducing the number of function parameters.
ii) Fast loops.
iii) Increase the optimization level of our compiler.
iv) Inline the functions.
v) Avoiding post increment/decrement.
As we know nothing is perfect so C language has limitations
too.
1. Concept of OOPs- C is a very vast language, but it does not
support the concept of OOPs. C simply follows the
procedural programming approach.
2. Run-time checking-In the C programming language, the
errors or the bugs aren’t detected after each line of code.
Instead, the compiler shows all the errors after writing the
program. It makes the checking of code very complex in
large programs.
3. Concept of namespace- C does not implement the concept
of namespaces. A namespace is structured as a chain of
commands to allow the reuse of names in different
contexts. Without namespaces, we cannot declare two
variables of the same name.
4. Lack of Exception Handling-Exception Handling is one of
the most important features of programming languages.
While compiling the code, various anomalies and bugs can
occur. Exception Handling allows you to catch the error and
take appropriate responses. However, C does not exhibit
this important feature.

5. Constructor or destructor- C does not have any constructor


or destructor. Constructors & Destructors support basic
functionality of Object Oriented Programming. Both are
member functions that are created as soon as an object of
the class is created.
IEEE - The best 10 top programming
language in 2018.
Beyond these limitations still the C language doesn’t
still seem to have an expiration date

The world is running on C-powered devices. We use


these devices every day whether we realize it or not. C
is the past, the present, and as far as we can see, still
the future for many areas of software.

You might also like