# Importance of ‘C’ language and reasons to use it.



## abhik143 (Jun 13, 2016)

*Importance of ‘C’ language*

C language is a famous programming language due to its qualities. Some qualities are:

1. It is robust language whose rich setup of built in functions and operator can be used to write any complex program.

2.Program written in C are efficient due to several variety of data types and powerful operators.

3. The C compiler combines the capabilities of an assembly language with the feature of high level language. Therefore it is well suited for writing both system software and business package.

4. There are only 32 keywords; several standard functions are available which can be used for developing program.

5. C is portable language; this means that C programs written for one computer system can be run on another system, with little or no modification.

6. C language is well suited for structured programming, this requires user to think of a problems in terms of function or modules or block. A collection of these modules make a program debugging and testing easier.

7. C language has its ability to extend itself. A c program is basically a collection of functions that are supported by the C library. We can continuously add our own functions to the library with the availability of the large number of functions.

8. In India and abroad mostly people use C programming language because it is easy to learn and understand.

*The reasons to use C for the following:*

1. C is one of the foundations for modern information technology (IT) and computer science (CS).
Many working principles of IT and CS, such as programming languages, computer architectures, operating systems, network communication, database, graphical user interface (GUI), graphics, image processing, parallel processing, multi-threads, real-time systems, device drivers, data acquisition, algorithms, numerical analysis, and computer game, are based on or reflected in the functionalities and features of C. The experience in C will help students understand the working principles of these important concepts in IT and CS. Therefore, C is required for the CS major in almost all universities.

2. C is the most commonly used programming language in industry.
Academic institutions have a mission to teach technologies that are widely used in the real world so that students have the skills and knowledge that employers need. More than 90 percent of the programs running on our desktops, from operating systems and e-mail clients to Web browsers and word processors, are written in C or its relative, C++ which has extensions to C. Most games and underlying robot control software are written in C or C++. With the knowledge of C, students will not only be able to play games and robots, but also understand their underlying working principles and potentially develop their own games and robots.

3. C is the language of choice for programming embedded and mechatronic systems with hardware interfaces.

4. C is one of the most commonly used programming languages in colleges and universities.
Computer programming is an essential skill for advanced studies in Science, Technology, Engineering, and Mathematics (STEM) fields. Like in industry, C is also one of the most commonly used programming languages in colleges and universities for teaching and research.

5. C is the base for almost all popular programming languages.
C is the language of choice for system programming. Because of the performance and portability of C, almost all popular cross-platform programming languages and scripting languages, such as C++, Java, Python, Objective-C, Perl, Ruby, PHP, Lua, and Bash, are implemented in C and borrowed syntaxes and functions heavily from C. They share the similar operators, expressions, repetition statements, control structures, arrays, input and output, and functions.

6. C excels as a model of programming languages.
C does an excellent job of illustrating the underlying working principles of computers, scientific computing, and disciplined software development. Students gain valuable knowledge of such fundamental programming concepts as data types, internal data representations, operators, expressions, loops for repetitions, control structures, arrays, input and output, functions, debugging, etc. Studying C provides a solid foundation for students who want to learn advanced programming skills such as object-oriented programming, event-driven programming, multi-thread programming, real-time programming, embedded programming, network programming, parallel programming, other programming languages, and new and emerging computing paradigms such as grid-computing and cloud computing.

7. Once students have learned C, they can pick up any other languages by themselves.
Certain languages and tools are typically used to solve domain specific problems. Therefore, the ability to understand and learn new languages is important. All other modern languages borrowed heavily from C. Once students learned C, it is easy for them to learn by themselves any other computer languages without much difficulty. On the other hand, even if students have learned other programming languages or visual programming, it is generally still quite difficult for them to learn C by themselves, especially for difficult topics such as pointers and linked lists. Computer programming in C needs a disciplined approach. Many people believe that if students start with computer programming using a typeless scripting language first, then they would have even harder time to learn and master C afterwards.

8. C is a standardized programming language with international standards.
A standardized programming language is stable and its evolution is overseen by a technical standard committee made up of business, academic, and organizational representatives with a stake in the language.

9. Computer programming is becoming a necessary skill for many professions.
Writing computer programs is essential to solving complex science and engineering problems. Many principles and concepts in STEM disciplines can be illustrated and reinforced through writing programs. C and C++ are more widely used in STEM fields than any other programming languages such as Java, Fortran, or Matlab.

10. Computer programming can develop student's critical thinking capabilities.
Developing a program to solve a practical problem involves many creative works, including design, logic reasoning, math, etc. It can help students find practical applications of many math concepts such as variables in Algebra I and trigonometry. Debugging a program can also help student improve their reasoning and logical thinking capabilities. The computer-aided problem solving capabilities can be trained using C.

Source:- Importance of c language and reasons to use it


----------



## pankaj15666 (Jun 21, 2017)

-C is the mother of all languages and few reasons to consider learning C is that it makes your fundamentals very strong.

-Apart from that, C offers a very flexible memory management. Memory is allocated statically, automatically, or dynamically in C programming with the help of malloc and calloc functions. This gives a choice and control to programmers as to when and where to allocate and deallocate memory.

-C was designed to implement the Unix OS (Which also forms a base for Linux) and C sits close to the OS which makes it an efficient language because of its efficient system level resource management. Another excellent usage of C is that C programming language is not limited to but used widely in operating systems, language compilers, network drivers, language interpreters, and system utilities areas of development.

-Agreed that there are many better programming languages out there now with the advent of technologies - however C offers some very good features / advantages like:
1. C is ubiquitous. Whatever the platform, C is probably available.
2. C is portable. Write a piece of clean C, and it compiles with minimal modifications on other platforms - sometimes it even works out-of-the-box.
3. Simple! C is really simple to learn and practically does not require any dependencies. A simple PC with the compiler and you are good to go to make programs.
4. As mentioned earlier since C is widely used for writing drivers, compilers etc, C is versatile!
5. FREE
6. Compatible and Powerful

Why do we use it:-

1.Writing computer programs is essential to solving complex science and engineering problems. Many principles and concepts in STEM disciplines can be illustrated and reinforced through writing programs. C and C++ are more widely used in STEM fields than any other programming languages such as Java, Fortran, or Matlab.

2.It is language on which C++ is based on, hence C# also derive its origin from the C. Java is also a distant cousin of C and share the same programming concept and syntax of C. These are the most dominant languages in the world and all are based on C. To rock the world through them you must get rocking with C.

3.C++, Java, and C # make use of OOP (Object Oriented Programming). Not all programs need it even though it is a powerful tool. Such programs are still written in C.

4. When ever it comes to performance (speed of execution), C is unbeatable.

5.Major parts of the Windows, Unix and Linux are still written in C. So if you want program these OS or create your own you need to know C.

6.Device drivers of new devices are always written in C. The reason is that C provides you access to the basic elements of the computer. It gives you direct access to memory of your CPU through pointers. It allows you to manipulate and play with bits and bytes.

7.Mobiles, Palmtops, PDA's etc are gaining popularity every second. Also appliances such as T.V., Refrigerators, and Microwaves etc. are becoming an integral part of our daily needs. You may not know but they have a CPU with them which do need programming and the software's written for them are known as embedded system programs. These programs have to be fast in execution but also have a very little memory. No question why C is ideally suited for embedded system programming.

8.You must have played games on your PC. Even today these astounding 3D games use C as their core. Why? The simple reason who will play the game when it takes a lot of time fire a bullet after you have given command from the console. The reply to the command should be damn prompt and fast. Reply in 1 Nano second is an outstanding game; Reply in 10 Nano seconds is crap. Even today there is no match for C.

9. C is a middle level language. There are three types of language - High Level, Middle Level & Low Level. High level languages are user oriented, giving faster development of programs, example is BASIC. Low level languages are machine oriented; they provide faster execution of programs. C is a middle level language because it combines the best part of high level language with low level language. It is both user and machine oriented and provides infinite possibilities.


----------



## Flash (Jul 14, 2017)

Please post the real source: 
Importance of 'C' language and reasons to use it. | Hind Bulletin


----------



## JGuru (Oct 27, 2017)

Even though C is a very good language. It has lot of flaws (pitfalls).

  1. Mixing signed and unsigned integers in arithmetic operations

  2. Overstepping Array Boundaries

  3.  Missing out the Base Condition in Recursive Function 

  4.  Floating point literals are of type double by default

  5.   Forgetting to free memory

   C Language does not scale well for bigger projects!! When the Software code goes beyond 50,000 lines it becomes very complex & hard to debug !!
   The use of goto statement here & there makes things worse!!  C is a procedural language. (Non- OOPS)

   C++  overcomes the flaws in C. C++ is a robust well written language that scales very well for large projects.  C++ supports OOPS & Non OOPS programming.

    Java  is a step ahead of C/C++ in many ways. Java is robust cross-platform (platform independant) object oriented language.


----------

