Overview
What is C?
- Since the late 19th century, C has been a popular programming language for general-purpose use.
 - C language was developed by Dennis M. Ritchie at Bell Laboratories in the early 1970s.
 - Its applications are very diverse. It ranges from developing operating systems to databases and more. It is a system programming language used to do low-level programming (e.g., driver or kernel).
 - Even if it’s old, it is still a very popular programming language.
 - As the whole UNIX operating system was written in C, it has a strong association with operating systems.
 - C has also been used widely while creating iOS and Android kernels.
 - MySQL database is written using C.
 - Ruby and Perl are mostly written using C.
 - Most parts of Apache and NGINX are written using C.
 - Embedded Systems are created using C.
 
Why should we learn C/ Features of C?
- As mentioned above, it is one of the most popular programming languages in the world.
 - Learning any other popular programming language such as Python or C++ becomes much easier if you know C.
 - C is a flexible language, proven by the fact that it can be used in a variety of applications as well as technologies.
 - C is very fast when compared to other programming languages, be it Java or Python.
 - C takes only significant CPU time for interpretation. That is why a lot of Python libraries such as NumPy, pandas, Scikit-learn, etc., are built using C.
 - Being close to machine language, some of its functions include direct access to machine-level hardware APIs.
 - It is a structural language (follows a specific structure) and a compiled language.
 - It is a procedural programming language (POP). Procedural programming is the use of code in a step-wise procedure to develop applications.
 
How is it different from C++?
- The syntax of C++ is almost identical to that of C, as C++ was developed as an extension of C.
 - In contrast to C, C++ supports classes and objects, while C does not.
 - C gives most of the control to the hands of users. Things like memory allocation and manipulation are totally in the hands of the programmer. Being a flexible language, it provides more access to the programmer, making it more efficient.
 - C is POP (procedure-oriented programming), whereas C++ is OOP (object-oriented programming).