Home Guides Beginner Article

10 Reasons Why C Should Be Your First Programming Language

3.0/5.0 (7 votes total)

July 27, 2007

Anuj has written 1 articles for CGIDir.
View all articles by Anuj...

To a beginner programmer the biggest question is where to start. Which language to choose from the mighty pool of 100’s of languages.

This was the question I asked myself when I started writing my first program. I tried many languages but finally I came to C, the most beautiful and charming language of all. I was literally blown away by the simplicity and elegance of C.

Though C is simple it is one of the most powerful languages ever created.

In this dynamic IT world new language come every day and then get obsolete, so there must be something in the C which has remained there for 3 decades and more, and even today there is hardly any language which can match its strength.

90% of the starting programmers say that C has been superseded by other languages such as C++, Java, and C # and so on, so why learn C. I don’t know why they think so but I know one thing that they will never excel the other 10% programmers who differs from this opinion.

C was the programming language developed at AT & T’s Bell Laboratories of USA in 1972. It was written by a man name Dennis Ritchie.

Now let us begin to analyze reason why C should be your first programming language.

1. I believe nobody can learn C++ or Java directly. To master these languages you need to have a strong concept of programming element such as polymorphism, classes, inheritance etc. Simple question is how you can learn such complicated concepts when you don’t even know about the basic elements such as block functions. C is a language which begins from scratch and it has foundational concepts on which today concepts stand on.

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.

10. Last but not least it is a block structured language. The first symbol of a modern language is that it is block structured. Each code exists in separate block and is not known to code in other block providing easy means of programming and minimizing the possibilities of undesirable side effects. C is designed from the base to top to be a block structured language. Many older languages, most popular being BASIC tried to introduce this concept but their short coming can never fulfilled as they were never built along these line.

For more Articles Related To C check out my website

Add commentAdd comment (Comments: 3)  
Title: information September 28, 2008
Comment by nirbhay

why C begins with # symbol in C program ? reply soon

Title: Club Shepherd, yyyy July 28, 2007
Comment by Brian E Shepherd

Will replace the Zone code, with MINE, HOPEFULLY, Microsoft codes MY HI-Tech WORK REQUEST, WHICH WILL work, I'm basing this upon my HI-Tech Systems Analysis Miami, University, Systems Analysis degree!

Title: Software Engineers as the Neo-Luddites July 27, 2007
Comment by Jeremy

If you come from the perspective of learning a functional language, then yes, an OOP is an add-on.
It's trival to mitigate the OO aspects of coding, while teaching someone basic functional programming. "Here, insert your functions and variables in this bit of text that says 'class'. I'll tell you why it's important later".

However if you teach OOP as a whole, Objects and classes are more intuitive as humans are geered towards visualizing abstractions as concrete representations. "I'm doing something to an object. I'm changing it's properties making it do stuff".

How hard is it to teach someone that a car is a vehicle with 4 tires, whereas a motorcycle is a vehicle with 2 tires? That if you apply an action such as "Accelerate", you're changing it's velocity property and it's position.

As for the rest of your arguement. Celphones regularly come with Java embedded. I would hazard to guess that the majority of video games are written in C++ these days (of which I have direct experience). Gone are the days C64 vodoo where every available scrap of memory is critical. I can put a gig of memory on something less than the size of my thumbnail for less than 50$. Most embedded systems come with more processing power than the 8Mhz 68000 processor that came in my Mac Classic.

The tone of your article comes across as someone who may have dabbled in OOP but clings to the console cowboy style of coding that inhibits proper software design.

In truth, C should be relegated to islolated requirements such as device drivers where the hardware is so limited that a C++ compiler cannot provide the necessary optimizations.... And at that point, you might as well be programming in assembly.



Related Resources

Other Resources

image arrow