C has been an evergreen language and played a prominent role for most of the system developments that took place in the last few decades. C programming was originally developed by Dennis Ritchie between 1969 and 1973 at Bell Labs and was made for general-purpose, imperative computer programming, that supported structured programming, lexical variable, scope, and recursion etc.
Today, we have lots of programming languages to choose and learn but as a beginner, everybody has a question “Which programming language should I learn first?” and most of the answers that we get on the internet or through suggestions are “C”. In this article, we’ll try to find out if C Programming is still worth learning in 2018. If yes then why?
A Brief History
In 1972, the development of C started on the PDP-11 Unix system and by 1973, people started using C for Unix Kernel. Dennis Ritchie who is considered as the “Father of C language” further made changes to the language for several years to make it more efficient, added libraries and resolved issues thus evolving C the way we use it today.
In 1978, the first book of C programming, The C Programming Language, was published. The first edition was written by Brian Kernighan and Dennis Ritchie, this book is popular among C programmers as “K&R”.
Should you learn C programming in 2018?
The bundle of options that we have today with modern programming languages like Swift, Python, Go, Julia e.t.c, creates a big dilemma for beginners that learning C is good for them or not. Even, in our academics, we study C and think why this old-school language is still being taught to us?
I just wished that it was so easy to judge and possible to answer this question with a simple “yes” or “no” but, unfortunately, it’s not an easy question to answer and it depends on person to person preferences and likings. According to me, the answer is a big “YES”. Let us discuss the reasons for my answer.
1. It is A Foundational Language For Other High-Level Languages
If someone who is new to programming and hunting to get started then, C is the most basic and easy language to start with. I personally believe that it is not worth it or even good to learn C++, Java or Python directly. When you learn C, it sets a foundation for you to learn the other high-level languages.
If you spend time learning C, then you will realize that how easy it is to learn. You will understand how a computer manipulates the English language we right, the logic we think and know how your program works. Also, you will be able to create a mental model inside yourself on how a computer works and analyses algorithms and you enjoy the freedom that C provides, unlike other languages i.e Python or Java.
The modern programming languages have predefined basic functionality that one can simply use as a pre-defined method. This way we actually escape the logic and the procedural approach that is used to write them. Understanding C allows you to develop a broader understanding of computer architecture and programming as a whole.
2. Simple and Easy To Get Started With
When I started learning to programme then, I started with C and found that it was easy. Concepts of Object-Oriented Programming in C++ and Java e.g. abstract classes, Polymorphism, inheritance etc are some difficult concept to grab as a beginner if you don’t have a good understanding of functions and structures.
It is the human tendency that when they start a new thing, they want it to be easy at the beginning. If we indulge ourselves in difficult topics and land up in trouble then it is obvious that we could give up and eventually leave programming. A simple question arises here that how one can learn complicated concepts without the basics knowledge of programming. C is thus easy to understand and that is the reason why it is so popular even today.
3. Opportunity to work on open source projects
At first, you may think that why I learn C and then other languages. Directly I can learn other but, the fact is that C is the mother for most of the modern programming languages. If you need to develop a mobile app, you need Java/Kotlin for Android, Swift / Objective C for iOS. Languages like C#, PHP, ASP.net, Ruby, Python for building the web applications.
You must be thinking then Why learn C? What is the use?
Python one of the most popular languages used today for making a wide range for applications is actually written using the concepts of C. If you want to contribute to Python, you need to know C programming to work on Python projects that impact millions of Python programmers. Also, large numbers of software that you use today are powered by C. The major parts of Windows is written in C++ and C because when it comes to speed then C is still the unbeaten candidate, C is even the base for C++ language.
Some of the larger open source projects where C programming is used are:
- Linux Kernel.
- Python Interpreter.
- SQLite Database.
So, Now I hope that you must be clear why you should still learn C. Do comment below on your verdict.
For a newbie, C programming is the best language to start learning programming. However, if you want to start with an easier language which is clean and easier to grasp, go for Python as it the most popular language used these days but then it won’t build any foundation for other languages such as C++ and Java. If you are a little-experienced programmer, It’s not absolutely necessary to learn C but knowing it add perks to your knowledge.