C programming language features , advantages and disadvantages
C language is highly portable language , So , C programs that written for one computer can easily run on another computer without any change or by doing a little change , It has variety of data types and powerful operators , So , The programs written in C language are efficient , fast and easy to understand .
Advantages of C Language
C programming language is the structured programming language , So , It helps you to think of the problem in terms of function modules or blocks , Collection of these modules makes a complete program , This modular structure makes the program debugging , testing and maintenance easier .
C programming language is a building block for many other currently known languages , Python is a fully Object-Oriented High-Level programming language , It is written in C ( perhaps C++ too ) .
C programming language is a small language , The concepts that it requires is quite short , There are 32 keywords in ANSI C only and its strength lies in its built-in functions , Many standard functions are available that can be used for developing the programs .
C language has the ability to extend itself , It is the collection of functions which are supported by the C library this makes us easier to add our own functions to C library, Because of the availability of large number of functions , the programming task becomes simple .
C language is the compiled language versus an interpreted language , Explained simply , So , The code is compacted into executable instruction rather than being translated on the fly at run time , This feature lends heavily to the speed of C programs and a lot of libraries are written in C .
C Language is very much popular language around the world and best suitable for the programmer to learn at the fist stage of the programming , There is not much vocabulary to learn , C language has easy syntax and it is easier to learn , It is still a practical and compact language and it comprises a good semantic .
C programming language is easy to Learn ( Syntax is near to English Language ) , C language syntax is very easy to understand , It uses keywords that we are using in our day to day life to convey meaning or to get some decisions .
C Language is very near to assembly programming , the hard use of pointers for example is a very powerful mechanism , It has features that allow the programmer to organize the programs in a clear, easy, logical way .
C language allows meaningful names for variables without any loss of efficiency , So , C language gives a complete freedom of programming style , including flexible ways of making the decisions and a set of flexible commands for performing tasks repetitively ( for , while , do ) .
C programming language is procedure oriented language , So , The user creates procedures or functions to execute their task , The procedure oriented language is very much easy to learn because it follows algorithm to execute your statements .
To develop the program using procedure oriented language , you need to draw/prepare the algorithm and then start converting it into procedure or functions .
C programming language offers lots of functions that consist of system generated functions and user defined functions , C Compiler comes with list of header files that consist of many general functions that can be used to develop the program , while the programmer can create the function as per their requirements that is called as user generated/defined function .
C compiler produces the machine code very fast compared to the other language compiler , C compiler can compile around 1000 lines of code in a seconds or two , One more benefit of the C Compiler is that it also optimize the code for faster execution .
C programming language is portable , C Language setup is around 3-5 MB , So , It is very easy to install and operate , Its output is exe file that can be executed in any computer without any other framework / software .
C programming language has a low level of abstraction , It is close enough to system hardware descriptions , you can see right through it and stare directly into the machine , learning C first , it is easier to find your way around how higher level languages work .
Disadvantages of C Language
C programming language does not support Object Oriented Programming ( OOP ) features such as Inheritance , Encapsulation , Polymorphism etc , that’s why C++ is developed , It has no strict type checking , For example , we can pass an integer value , It is for the floating data type .
C language is a procedure oriented language , So , You should develop your program using procedure oriented language only and you have to implement any algorithms as a set of function calls .
C programming language does not offer support for namespace like C++ , Without Namespace , we can’t declare two variables of same name and you can’t use the same variable name again in one scope .
C language doesn’t perform Run Time Type Checking , It compiles time type checking only at run time , C language doesn’t ensure whether correct data type is used instead it performs automatic type conversion .
C language doesn’t have the concept of constructor or destructor , It does not offer the object oriented features , so , it does not have Constructor and Destructor features .
Constructor and Destructor is used to construct the object and destroy the object , So , in C programming Language you have to implement manually construction and destruction of the variable using function or by the other means .
C programming language has a low level of abstraction , It is a lingua franca , C language is a small language , It seldom rewards you with instant solutions , Learning C first requires a lot of patience .
C programming language does not offer data security , It does not support reusability of source code , It offers no help for solving real world problems.