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 a 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 the C library, Because of the availability of a 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 first 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 an 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 are 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.