DEV Community

Cover image for Is C Programming Knowledge A Must To Learn Python or Any Other Programming Languages?
Muhammad Sakib Khan Inan for TechLearners

Posted on • Originally published at Medium

Is C Programming Knowledge A Must To Learn Python or Any Other Programming Languages?

Nowadays, there is an ongoing myth among some people, who are complete beginners in the programming world or coding world that without learning languages like "C" or basically "C", you won't be able to learn modern high-level programming languages like "Python" well. It can be simplified like this that before learning any other language you must need to learn "C'. I decided to write about this when one of my classmates reached me with the same type of problem which I mentioned in the very beginning. She asked me for suggestions on how to learn "Python" as a complete beginner. After I gave her some suggestions, she said that she is confused that if she needs to learn C Programming first in a good manner to cope up with learning Python or not. I told her that it isn't necessary to learn the C programming language to learn Python. But she acclaimed that she has heard that without learning C first, her basics of programming won't be clear in a full manner, and for this, she believes she should learn C before learning the others. So, I am going to share my thoughts on this topic today.

Programming Languages

Python is a high-level programming language. It is one of the most popular and widely used programming languages in today's world. Data Science, Machine Learning, Artificial Intelligence, etc fields are mostly dominated by Python now. If you are a complete beginner in coding and want to learn Python, then I will say without thinking twice you should start learning Python. Don't get worried about the confusion that you need to learn C first. If you have the basics of C or any other programming languages then it will boost up your learning speed but if you don't have it, need not worry much about it.

Programming Languages are just a medium or a way to make the machines understand what we want them to do. The main concepts like loops, conditional logic, functions, or methods are quite similar in all languages, just the syntax and code writing styles are different from language to language. In Python, the syntax is quite English alike, so it's quite easy to understand and learn.

When you will begin to learn Python, you will find programming very easy and interesting as you won't have to work hard with declaring variables before using them, etc. Just learn and understand how functions, loops, conditions, etc main basic things work in Python and practice more and more. Many programmers have learned Python as their first language and they are doing a lot of good works in the coding field. One of my friends has also learned Python first and then learned C, his favorite language is Python and he understands very well the coding basics. The main thing is you must need to learn one programming language in a good manner to understand the basics of coding, no matter whether it's Python or C or Java or Pascal or Swift or JavaScript, whatever it is.

When you will have a good experience as a beginner with any programming language, you won't find it very much hard to learn a new one. There are a lot of resources present online on Python.

💘 So don't be late, start learning, start coding.

At last, I want to say to the beginners of the coding world, "To learn to code, you must do coding. Without writing codes on your own, you won't be able to learn it well."
Best of Luck

Share your opinion in the discussion section below and of course the questions if any. Don't forget to follow us.

💡 AND SUBSCRIBING to our YouTube TechLearnersInc and Telegram will be amazing.

Top comments (10)

leob profile image
leob • Edited

Can't fathom that there are people who believe you "have to" learn C before you can learn Python ... in a similar vein, you could argue that you need to learn Assembly Language before you can learn C ... or that you need to learn the law of Ohm and how to solder transistors and components to a bread board before you can do any programming at all :-)

skinan profile image
Muhammad Sakib Khan Inan

Sometimes total beginners tend to believe some myths.

codemouse92 profile image
Jason C. McDonald • Edited

I do recommend learning C at some point in the process, but it doesn't have to be "first" or "second" or any other particular order.

The important thing to remember is that abstractions are there to save you typing, not thinking. At some point fairly early in the journey, it is important to understand how the seemingly "magical" features of higher-level languages are working under the hood. Without that knowledge, one is at extraordinarily high risk of falling into cargo cult programming, which is incompatible with mastery.

In other words, it's fine to learn right now what a Python list basically is and how to use it. You should, however, be prepared to understand the underlying algorithms and principles of contiguous data structures as soon as you're comfortable. Otherwise, you run the risk of abusing Python lists to the detriment of your code's stability and/or performance.

andreidascalu profile image
Andrei Dascalu

I have never heard anyone saying anything like this in over 30 years.
I can't think of any distinct languages that can be tied in this way.
Sure, to some extent, as Typescript is a superset of JS then it's important to know JS to understand why TS exists but it's still not absolutely mandatory.
In a sense it's helpful to know assembly before driving into systems languages to understand how cpu works with respect to other hardware but again, it's not a total blocker.

skinan profile image
Muhammad Sakib Khan Inan

Yes, you are right.

gmonu profile image
Monu Gupta

Data structure knowledge is a must before learning any programming language.

skinan profile image
Muhammad Sakib Khan Inan

Yes, it is important.

dwd profile image
Dave Cridland

You should not try to learn C (or C++) as your first language. Get proficient in Python (an excellent learning language as well as useful production one) and JavaScript (awful, really, but it's everywhere) instead first. Then - and only then - broaden your experience by learning a bit of C, C++, Erlang, and whatever else takes your fancy.

dynamicsquid profile image

Isn't Python also trying to implement some aspects of type safety through gradual typing? Or is that not enough?