Key Points about C Programming: A Comprehensive Overview

Rumman Ansari   Software Engineer   2024-07-04 04:52:19   26343  Share
Subject Syllabus DetailsSubject Details
☰ TContent
☰Fullscreen

Table of Content:

Before we can begin to write serious programs in C, it would be interesting to find out what really is C, how it came into existence and how does it compare with other computer languages. In this tutorial we would briefly outline these issues.

What is C?

C is a programming language developed at AT & T's Bell Laboratories of USA in 1972.

It was designed and written by a man named Dennis Ritchie. It is one of the most popular computer languages today because of its structure, high-level abstraction, machine independent feature.

Dennis Ritchie, Quotes, for unix, operating system, Programming Language
Figure: UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. --- Dennis Ritchie.

In the late 70's C began to replace the more familiar languages of that time like PL/I, ALGOL, etc. No one pushed C. It wasn't made the 'official' Bell Labs language. Thus, without any advertisement C's reputation spread and its pool of users grew. Ritchie seems to have been rather surprised that so many programmers preferred C to older languages like FORTRAN or PL/I, or the newer ones like Pascal and APL. But, that's what happened.


An opinion that is often heard today is – "C has been already superceded by languages like C++, C# and Java, so why bother to learn C today".

  1. C++, C# or Java make use of a principle called Object Oriented Programming (OOP) to organize the program. This organizing principle has lots of advantages to offer. But even while using this organizing principle you would still need a good hold over the language elements of C and the basic programming skills. So it makes more sense to first learn C and then migrate to C++, C# and Java. Though this two-step learning process may take more time, but at the end of it you will definitely find it worth the trouble.
  2. Major parts of popular operating systems like Windows, UNIX, and Linux are still written in C. This is because even today when it comes to performance (speed of execution) nothing beats C .Moreover, if one is to extend the operating system to work with new devices one needs to write device driver programs. These programs are exclusively written in C.
  3. Mobile devices like smart phones and Tablets have become rage of today. Also, common consumer devices like microwave ovens, washing machines and digital cameras are getting smarter by the day. This smartness comes from a microprocessor, an operating system and a program embedded in these devices. These programs not only have to run fast but also have to work in limited amount of memory. No wonder that such programs are written in C. with these constraints on time a space, C is the language of choice while building such operating systems and programs.
  4. you must have seem several professional 3D computer games where the user navigates some object, like say a spaceship and fires bullets at the invaders. The essence of all such games is speed. Needless to say, such games won't become popular if they take a long time to move the spaceship or to fire a bullet. To match the expectations of the player the game has to react fast to the user inputs. This is where C language scores over other languages. Many popular gaming frameworks (like DirectX) have been built using C language. 
  5. At times one is required to very closely interact with the hardware devices. Since C provides several language elements that make this interaction feasible without compromising the performance, it is the preferred choice of the programmer.

I hope that these are very convincing reasons why you should adopt C as the first, and a very important step, in your quest for learning programming.


C has become very popular for various reasons

  • One of the early programming languages.
  • Still, the best programming language to learn quickly.
  • C language is reliable, simple and easy to use.
  • C language is a structured language.
  • Modern programming concepts are based on C.
  • It can be compiled on a variety of computer platforms.
  • Universities preferred to add C programming in their courseware.

Advantages of c

  1. C is very suitable for system programming
  2. C encourages the code reusability
  3. C encourages the structured programming.
  4. The different modules can be present in different source files and they can be compiled separately.
  5. C is one of the most portable languages.
  6. C supports a number of data types.

Disadvantages of C

  • C does not provide Object Oriented Programming (OOP) concepts.
  • There are no concepts of Namespace in C.
  • C does not provide binding or wrapping up of data in a single unit.
  • C does not provide Constructor and Destructor.

MCQ Available

There are 3 MCQs available for this topic.

3 MCQ