Choice of first language isn't really important as long as learning resources exist. Both are good choices, and you can always learn the other on when you feel like it. So don't let analysis paralysis stop you, and just pick one. Flip a coin if you have to. Answer from plastikmissile on reddit.com
🌐
Reddit
reddit.com › r/learnprogramming › what should i learn first? c or python?
r/learnprogramming on Reddit: What should I learn first? C or Python?
July 2, 2023 -

Hey everyone,

I have done a little bit of Python already, but I took a break from it and am deciding if I should continue with it, or try to learn C.

I am an aspiring electrical or aerospace engineer, so I know Python will be helpful for me in that sense. But I also know that learning lower level languages may be better for me if I wanted to do electrical engineering, as well as creating code for microcontrollers for my 3d printed rocket.

I am interested in ai/ml, so I would like to know Python, but I am also interested in electronics, so I’m confused what to start with.

Thank you.

Top answer
1 of 50
37
Choice of first language isn't really important as long as learning resources exist. Both are good choices, and you can always learn the other on when you feel like it. So don't let analysis paralysis stop you, and just pick one. Flip a coin if you have to.
2 of 50
28
Fellow learner here who tried to learn Python and C++ at the same time. From a newbie perspective my vote goes to Python. You'll learn all the important stuff about variables, functions, algorithms, recursion, data structures etc in a language that has 'face validity' - it looks like what it does, which is important for new learners. I found jumping right into C++ was information overload. I'd say the people here advising C have at least a few years coding under their belt, but for a newbie who has never studied computer science, I found the difficult syntax and memory management got in the way of learning the essentials. I plan to go back to C++ after Python once all the data structures and techniques are second nature. As an analogy, take the human languages French and Russian. I learnt French in school, understood verb conjugations and cases, and that helped immensely when I learned Russian. If I jumped straight into Russian, the Cyrillic alphabet and strange sentence structure would have clouded my learning of the basics, and I might have given up because of trying to do too much at once. So I see Python like French, and C++ like Russian .. I hope that makes sense. The other consideration is what you plan to do, and which language is most appropriate. For me, python is great for machine learning so my choice aligns with my goal. I don't know much about electrical or aerospace engineering, so you might want to visit those subs and ask the same question there. But whatever the case, my recommendation is to refresh your knowledge of Python, and once you're confident with the essentials go back to C++ This 47 hour C++ course was recently released on o'reilly, so I plan to do that some time over the next few months Good luck!
🌐
Quora
cstdspace.quora.com › Should-I-learn-either-Python-or-C-first
Should I learn either Python or C first? - C Programmers - Quora
Answer (1 of 24): When people on Quora ask questions along the lines of “what computer programming language(s) should I learn first?”, my answer is invariably always the same, because the “first” implies that they intend to learn multiple languages, which implies that they want to program ...
🌐
Reddit
reddit.com › r/learnprogramming › c or python?
C or Python? : r/learnprogramming
July 21, 2021 - MIT teaches introduction to CS using python if its good enough for them then it should be good enough for anybody ... I am currently doing a PhD at a top100 university in applied machine learning / deep learning. I am using python around 80% of the time for the work, the rest is C++/C.
🌐
Sololearn
sololearn.com › en › Discuss › 281291 › solved-what-should-i-learn-first-c-or-python
[Solved] What should I learn first, C or Python? | Sololearn: Learn to code for FREE!
Speaking as someone who mainly codes in C and Python, I would recommend Python for beginners. Python has an easy syntax, error messages are helpful and you don't have to deal with all the gritty details of C that will only make it more difficult ...
🌐
Quora
quora.com › As-a-beginner-should-I-learn-C-or-Python-as-my-first-programming-language
As a beginner, should I learn C or Python as my first programming language? - Quora
Answer (1 of 48): Depends on what you want to do with your life and how seriously you take programming. If you're programming for fun, perhaps you should focus just on Javascript, Python and Ruby. Not because they're toy languages - far from it - but because they're the kind of language that you...
🌐
Reddit
reddit.com › r/learnprogramming › python or c for a beginner?
r/learnprogramming on Reddit: Python or C for a beginner?
March 2, 2023 -

I'm fully new to programming and have been doing research on what a good first language to choose is. For the most part, I have seen Python and C. I do plan on learning both but I don't know what to start with. What are the pros and cons of starting with each? Which one trains universal programming skills better? What do you recommend?

Top answer
1 of 4
7

In my opinion it's better to start learning Python.

I found it easier to learn then C or C++. It has libraries to do virtually anything you might need, and can do essentially anything.

The only reason to use a more difficult language like C/C++ is if you need the performance or are writing code for an embedded system. They are not, however, what you should be learning initially.

C# is a fine language, but nothing beats Python for ease of use.

The scope of Python is quite broad, here are some examples:

  • Create a website (Django, etc.)
  • Create scripts to do tasks ranging from image manipulation to server maintenance
  • Create GUIs (Tkinter, etc.)
  • Create games (pygame)
  • Scientific computing (SciPy)

Python can interact directly with arbitrary C code, meaning anything which can be done in C, can be done in Python with a little work. Python is popular enough that an interface has been created for virtually everything already.

For a better look at what can be done with python out of the box, take a look at the standard library which comes with python: http://docs.python.org/library/

In short, if it can be done with a computer, and doesn't require the speed of C/C++, it can be done with Python.

2 of 4
4

I would say it depends on what you want to achieve (cheesy answer...)

The truth is, learning language is a long process. If you plan on learning a language as a step toward learning another language, you're probably wasting your time.

It takes a good year to be proficient with C++, and that is with basic knowledge of algorithms and object concepts. And I only mean proficient, meaning you can get things done, but certainly not expert or anything.

So the real question is, do you want to spend a year learning C++ before beginning to learn Python ?

If the ultimate goal is to program in Python... it doesn't seem worth it.

Find elsewhere
Top answer
1 of 6
11

The question is actually more complex than it might appear, and really the answer can depend on the context. For example, at what age are the students when they are first taught to program? Is this in Primary School, High School or part of an undergraduate programme? The answer might be different in each case.

It also depends on the purpose of teaching the initial programming language (IPL). Is the purpose to lead towards a practical skill (vocational programming), or is it to enable the teaching of some knowledge of algorithms (pedagogic programming), is it to enable the functioning of some devices (engineering programming) or is it to prepare students for further study? Each of these questions could lead to a different language as an IPL.

For a very early age start of programming one does not have to worry about employment or future curricula so something engaging is important, so tools such as MIT Scratch have a role. For later childhood Python fills a nice niche, particularly as it can run on a wide variety of inexpensive platforms (such as Arduino's, Raspberry Pi and so forth) which provides accessibility and make it within the reach of the classroom and individual students.

Conversely, if one is looking at an undergraduate IPL then it may depend on which degree programme is being considered. Is it a degree in Computer Science, Engineering, Biology, Chemistry or Physics? One would then need to take into account what graduate employers might be looking for and tailor to that market.

Python might have value in some of these programs but the students would also have to learn other languages at some point. For example, Computer Scientists would need a wider experience that would embrace C#, C++ (among others). Electronic Engineers might need C, but Computer Scientists less so. Biologists might need R, Chemists and Physicists might still need Fortran!

However, I would say that I might never recommend C as an IPL, and would start at C++ even for the most hardened Electrical Engineer. I only show Computer Science students C in specific contexts (like working with flex and bison)!

One thing I say to my students in the course where I look at Languages is that there is no one best language. The choice of language for any particular situation is so very context dependent on resources available, skills available, the purpose of the programming and the end goal of the task, and for an IPL that advice still holds true.

2 of 6
5

I started teaching Python at NCSSM in 2004. Here are some reasons I chose it.

  1. It is direct and simple, and there is not a whole ton of boilerplate to deal with at the beginning. Hello, World looks like this

    print("Hello, World")

We all know what it looks like in Java (enclosing class needed) and C.

  1. Delimitation occurs via whitespace. Students who begin with Python tend to have excellent formatting habits when they learn other languages, because Python requires them. There is a direct visual connection between the flow of a program and its appearance.

  2. It's a professional tool. Students don't "outgrow" Python. It has a rich standard library and numerous third-party libraries that make it an awesome tool.

  3. It supports OO, functional, and imperative programming paradigms

  4. Memory management on the heap is largely abstracted away.

  5. The built-in types provide a significant creative palette. We teach our students to "use wheels, not re-invent them." An exception to this is when we are "dissecting" something to gain an understanding of how it works.

  6. It runs on everything and web interfaces for it are freely available.

Long experience shows that Python is an excellent language for beginners.

C is not great for beginners. However, it is very important. In many ways it is the "Latin" of computer languages. Every programmer should know it, because it lurks beneath the surface in so many places. We teach it to students who are already proficient programmers.

🌐
Hacker News
news.ycombinator.com › item
Ask HN: Is it worth it to learn C to better understand Python? | Hacker News
February 3, 2022 - For instance, when you only need to write two curly braces to create a “dictionary” (of course behind the scenes this is a hash table) many of the nuances of that data structure are hidden from you. You have no idea that accesses are O(1) amortized but worst case are O(n). Even if you do, ...
🌐
Medium
medium.com › tech-learners › is-c-programming-knowledge-is-a-must-to-learn-python-programming-language-972953988a66
Is C Programming Knowledge A Must To Learn Python or Any Other Programming Languages? | by Muhammad Sakib Khan Inan | TechLearners | Medium
March 23, 2022 - 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.
🌐
Reddit
reddit.com › r/learnprogramming › best to learn c or python first for a computer science degree?
Best to learn C or Python first for a computer science degree? : r/learnprogramming
August 1, 2018 - If you love getting into the details, then start with C. If you prefer thinking about problems at a higher-level of abstraction, then start with Python. Abstraction and knowing the right level of abstraction for solving problems is an important concept in computer science.
🌐
Reddit
reddit.com › r/learnprogramming › should i learn python or c?
r/learnprogramming on Reddit: Should I learn Python or C?
July 9, 2024 -

I am a high school student. I want to become a "good" software engineer in future. I want to learn programming due to my interest in computers and technology. I don't have any specific goal or interest, like web development or any other.

Some say to start with Python, as it will help to start easier, then learn other languages.

Some say to start with C, as it will teach me basics of programming and will make it easier to learn other languages. Python will make it difficult to learn complex languages, like C++, and I will learn bad habits from Python, as it is very easy.

I know I may be wrong, but I don't have much knowledge about programming. Please help me decide between Python and C.

🌐
Reddit
reddit.com › r/learnprogramming › learning c vs learning python with almost zero coding experience
r/learnprogramming on Reddit: Learning C vs Learning Python with almost zero coding experience
March 2, 2025 -

I am a senior in high school, and I have already applied & gotten accepted into EE Majors at a few schools. I've taken engineering class for 4 years and have slight experience with robotics but almost zero with coding. I trust that I will learn programming necessary for my career in school, but I want to learn C now to create projects with Arduino. Everywhere I look it seems like Python is the best language for complete beginners, but it doesn't seem to match what I had in mind like C does. Is it worth it to learn Python first? Or should I just go straight to C???

🌐
Sololearn
sololearn.com › en › Discuss › 2082579 › what-should-i-learn-first-c-or-python-3-and-why
What should i learn first ? C++ or python 3 ? And why?
November 28, 2019 - Sololearn is the world's largest community of people learning to code. With over 25 programming courses, choose from thousands of topics to learn how to code, brush up your programming knowledge, upskill your technical ability, or stay informed about the latest trends.
🌐
Edureka
edureka.co › blog › python-vs-c
Python vs C: Top 12 Differences You Must Know | Edureka
June 6, 2024 - Ease of development – Python has fewer keywords and more free English language syntax whereas C is more difficult to write.
🌐
Coursera
coursera.org › coursera articles › computer science and engineering › computer science › python vs c++: which to learn first and where to start
Python vs C++: Which to Learn First and Where to Start | Coursera
May 3, 2024 - Learn more about the pros and cons of each before you make a decision. Python and C++ are popular and efficient programming languages for beginners, and choosing the one to learn first may come down to personal preference.
🌐
Udemy
blog.udemy.com › home › python vs c: important differences you should know
Python vs C: Important Differences You Should Know - Udemy Blog
May 3, 2022 - So many, in fact, that they are ... you want to do. If you plan on working on hardware and low-level systems or with applications that depend on speed and performance, then C is the language for you....