Advantages of C Programming
C Language has a list of advantages due to this it is a very much popular language around the world and best suitable for the programmer to learn at the first stage of the programming.
1. Procedure Oriented Language
C Language is procedure-oriented language, here user creates procedures or functions to execute their task. Procedure-oriented language is very much easy to learn because it follows an algorithm to execute your statements. To develop a program using procedure-oriented language, you need to draw/prepare an algorithm and then start converting it into a procedure or functions.
2. Lots of Libraries
C Language provides lots of functions which consist of system generated functions and user-defined functions. C Compiler comes with a list of header files which consist of many general functions which can be used to develop a program, while the programmer can also create a function as per their requirements that are called a user-generated/defined function.
3. Speed of Compilation
C compiler produces machine code very fast compared to other language compilers. C compiler can compile around 1000 lines of code in a second or two. One more benefit of the C Compiler is that it also optimize the code for faster execution.
4. Easy to Learn
C Language syntax is very easy to understand. It uses a keyword like if, else, goto, switch, main, etc. This kind of keyword we all are using in our day to day life to convey meaning or to get some decisions.
C Language setup is around 3-5 MB. So you can carry this language in your Floppy Drive or Pen Drive. It is very easy to install and operate, Again its output is an exe file that can be executed on any computer without any other framework/software.
Disadvantages of C Programming
C Language also has some disadvantages. C Language does not have major disadvantages, but some features are missing in the C Language, obviously, that's why C Language is very much powerful now.
1. Object-Oriented Programming Features (OOPS)
Object-Oriented Programming Features is missing in C Language, You have to develop your program using procedure-oriented language only.
2. Run-Time Type Checking is Not Available
In C Language there is no provision for run-time type checking, for example, I am passing float value while receiving parameter is of integer type then the value will be changed, it will not give any error message.
3. Namespace Feature
C does not provide namespace features, so you can't be able to use the same variable name again in one scope. If namespace features are available, then you can able to reuse the same variable name.
4. Constructor and Destructor is not available
C does not provide object-oriented features, so it doesn't have Constructor and Destructor features. Constructor and Destructor are used to construct an object and destroy an object. So in C Language, you have to implement the construction and destruction of the variable manually, using a function or by other means.