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!
🌐
Reddit
reddit.com › r/learnprogramming › c or python?
C or Python? : r/learnprogramming
July 21, 2021 - Including AI and machine learning. But C is definitely the way to go if you want a solid knowledge of the the intricacies of code. Python does all the hard work for you. So you won't be as knowledgeable as an experienced C/C++ developer. One correction. C is a functional language.
🌐
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???

🌐
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?

🌐
Reddit
reddit.com › r/learnprogramming › c/c++ or python, which one to start with in 2024?
r/learnprogramming on Reddit: C/C++ or Python, which one to start with in 2024?
January 29, 2024 -

Hi all, it’s the same old question, which language should you start with as someone new to the world of programming.

Typical at university level in engineering majors (Electrical Engineering) you are usually taught C. Thats where i got introduced to programming for the first time. But the way universities are structured, it’s not always the best place to learn programming especially in a non-CS major.

Long story short, I find myself with this passion to dive deep and actually understands what programming is not just a language, but as they say, you have to start somewhere, hence the title statement, where do you start from in 2024?

I narrowed down these options as Python seems to be the most beginner friendly language whereas a languages like C/C++ has always been regarded as the languages to under to understand every other language with ease and especially to really understand the “source code” to programming itself.

Appreciate any advice/experiences, thanks!

Find elsewhere
🌐
Reddit
reddit.com › r/learnprogramming › should i start off with python or c++?
r/learnprogramming on Reddit: Should I start off with python or c++?
November 26, 2023 -

I’m extremely new to coding and according to google I should learn python as a beginner but I’m really into gaming so google says most common/popular coding language for gaming is c++ so should I start off with c++ or start with python and then transition into c++?

Top answer
1 of 104
81
Python is a very good language for beginners since it’s very readable and forgiving. I’d recommend looking into the “pygame” library for making simple games if that’s what you wanna get into. Once you feel a little comfortable with Python, I’d suggest trying C. I think C is an incredibly useful language to learn and I guarantee you’ll learn so much more about how computers work and become a much better programmer as a result. Once you feel comfortable with C, then I’d start using C++. C++ is essentially C but with extra features like classes (allowing for object oriented code), many more built-in functions and data structures, easier memory management, etc. I think learning C before C++ will make you appreciate the language and programming in general a lot more.
2 of 104
77
The advice that games are written in C++ is misleading. Some are, but many aren't. First of all, C++ is one of the most widely-used language that lets you write high-performance, bare-metal code - where you can maximize the use of the CPU and GPU without any waste. Game engines are almost always written in C++, it's true. But unless you need to write your own game engine from scratch, you have many options other than C++. Unity itself is written in C++, but Unity games are written in C#, which is a much friendlier language. Other game engines use a wide variety of other programming languages. Some game engines, like Unreal Engine, do have you write games in C++. The main issue, though, is that C++ is a very difficult language. I just really wouldn't recommend starting there if you're learning on your own. Python is 10x easier to get started. Pygame is a great way to make simpler games and learn all of the important concepts. Then if you love it, and you really want to learn C++ next, go for it.
🌐
Reddit
reddit.com › r/c_programming › choosing between c and python: navigating career prospects as a cs student
r/C_Programming on Reddit: Choosing Between C and Python: Navigating Career Prospects as a CS Student
February 8, 2024 -

Hello, I'm a 21-year-old CS student facing quite a dilemma. Over the past year, I've been learning C as part of my university program. This curriculum covered basic concepts such as if statements, arrays, loops, and strings. (This year, we're delving into pointers and memory allocation.) However, I'm eager to secure a job. In my country, the two most popular languages for employment appear to be Python and JavaScript. Consequently, I've started learning Python. Nonetheless, I've come across opinions online suggesting that Python might not be the best choice due to its perceived limitations in data types. So, I'm left wondering: should I continue learning C or switch to Python and begin my job search?

🌐
Reddit
reddit.com › r/learnprogramming › can or should i learn c and python at the same time?
r/learnprogramming on Reddit: Can or should I learn C and Python at the same time?
September 10, 2021 -

I have reached till arrays in the CS50 course thinking that my college would teach C. Apparently they are starting with Python..

Personally I want to learn C, I love the low level precision of the language.

Top answer
1 of 13
85
Programming is difficult partially because the language is unfamiliar, but mostly because the style of thinking is much stricter than you're probably used to. Many people think they are struggling with syntax when in fact the real problem is algorithm. Programming (at its core) is a two step process: Come up with an algorithm that breaks your problem into small discrete steps that can each be converted to a line or two of code, and then implement that algorithm into the language of choice. Since the algorithm process is not language-dependent, it doesn't matter much which language you choose for that part of the process. But then there is the part where you convert the algorithm into code. The language you use for that does matter. C is a wonderful language, but it requires the programmer to break things down in to much smaller steps than a lot of more modern languages, and it requires you to have a deeper understanding of the underlying memory model. For example, if I want to store text in a variable in python, just make a variable and assign text to it. Python takes care of allocating memory, determining the data type, and ensuring it is stored in the right kind of memory. C on the other hand doesn't really support strings directly. You have to appreciate that a string variable is really an array of characters, and you need to appreciate at some level how pointers work, and really you should know the difference between the heap and the stack, because they have different implications. So sure, you could learn more than one language at a time. But you're making the process harder than you need to, and introducing more opportunity for frustration. Some people prefer the C approach first, because you get a very deep appreciation of the memory model early. But you could spend weeks truly understanding what a string variable means, where in python or C# you'd just have the string working immediately and you don't need to do anything else. My preference is this: I teach algorithmic thinking first, and illustrate with Python. This way students have some quick success, because you can convert a much higher-level of abstraction to Python than you can to C. Then once you've built a couple of complete apps in Python and learned the main ideas of algorithms, then (in the second course) we go back to more fundamental languages like C and C++ to describe the many wonderful things that Python did for us, and at that point you're often ready for the better control you get in a language like C. I made a video where I took the same simple algorithm and implemented it in five languages to illustrate this point. You can see it here: https://www.youtube.com/watch?v=qWlHreRDd7A
2 of 13
6
Outside the obvious point of making sure your coursework is your primary focus; sure if you have the time, you should learn C. C is a pretty simple language (by that i mean it’s hard from a technical level but there’s not a ton to know) so i think picking up the gist of it shouldn’t be too difficult. But I think the primary reason I suggest learning C alongside python is because you can use C in python; the python interpreter is at its core a C program. Any bit of python code that is performance-critical you can extract out into whats called a C extension, and python can interface with your C code directly through the C/Python api. Depending on your use case you can get up to 3x magnitude speedups by doing this (particularly if youre doing things like scientific computing). https://docs.python.org/3/c-api/index.html
🌐
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 › what should i learn first, python or c++ ?
r/learnprogramming on Reddit: What should I learn first, Python or C++ ?
August 4, 2021 -

I'm in my first year of CS engineering. I have learned C. Its about time I pick up new language but Im confused if i should learn python or C++ first.

I have to learn both of them ultimately(requirement) but what order would be easier and less hassling.

🌐
Reddit
reddit.com › r/learnprogramming › learn c or python first?
r/learnprogramming on Reddit: Learn C or Python first?
November 5, 2024 -

Hi All,

Bit of background first:

I'm 4 weeks into an intensive 9-month bootcamp. It's mostly self-taught with a new topic every week. Students are required to read some resources, then do some self-learning and complete coding tasks (roughly 30 coding tasks a week so far) and then run them through a checker to pass the task. It's supposed to be fulltime study, however I need to work fulltime and can only dedicate after work hours and weekends to study.

The first 3ish months are all in C and I can already see that I'm doing the tasks and not really understanding what I am doing. After C, we learn Python, SQL, Javascript and a few more topics. I have spoken with quite a few past students who have given feedback that the course is intense, it's hard to study and do fulltime work and some have said its best if you have some coding experience before doing the bootcamp. Most students are in class working through the tasks together, while I am mostly doing it by myself.

Lastly, the reason for doing the course is because the school have good networking opportunities and really help with trying to get a job when you finish. At this stage I am unsure if I want to do data analytics or software engineering.

My questions are:

  1. If I am struggling to learn C, should I push through the course and hope I understand things better when learning Python?

  2. Should I stop the course, take a few months to go learn C at my own pace with some free courses and then reenroll in the bootcamp early next year with a better understanding?

  3. Like point 2, but should I go learn Python first to help me understand the concepts better and then maybe do some C, before reenrolling in the bootcamp?

Top answer
1 of 25
23
Understanding C or any programming language can take time. You are only 4 weeks in. I was really struggling with programming in the university and now I'm leading software projects. So It really depends on your level but if you can code basic things then I wouldn't stop the course. Python is also a lot easier than C.
2 of 25
4
Okay, here's what I've gathered: You're taking a program meant to be done full time, but you also work full time. Most students are working through the intense problems together, but you're not. You're struggling Alright, well, I think you've identified the problem and its likely causes. So now we need to discuss how to fix it. You've suggested: Keep going, but also learn more programming languages in addition. Quit, learn some programming on your own, and then do the program again, hopefully to do better Both of those options are kind of silly. If you're struggling because you don't have enough time, staying on the same course but also learning even more stuff at the same time does not seem like a good plan. And if you were great at learning to program on your own, why did you sign up for a bootcamp in the first place? Here're my suggestions: Try to find people to work with on the assignments together. Most people are doing that, it will save you time, and it will help you learn better (either by explaining things to others, or by having them explain things to you). Plus, you said networking was your goal. You network by meeting with and working with other people. Identify what SPECIFICALLY you're having trouble with. Is it how functions work? Pointers? Are you able to read a program and explain what it does but you have trouble crafting an algorithm? Write down the things you don't understand and need help with, and seek out help with those specific things. The early programming concepts stack; you really can't skip any and continue forward without difficulty. Talk to your teachers and TAs or whatever about your concerns. They can offer the best advice about whether you should quit or what extra study you might do.
🌐
Reddit
reddit.com › r/learnprogramming › c++ vs python
r/learnprogramming on Reddit: C++ vs python
June 10, 2023 -

I'm going to be a senior next year in high school, and I have a lot of free time, should I learn python or c++ or Java? I want to do cs in college and become a software engineer. also it would be great if you can provide a YouTube series/website that teaches it for free

🌐
Reddit
reddit.com › r/computerengineering › would it be better to learn c++ or python first as a total newbie to coding and programming languages?
r/ComputerEngineering on Reddit: Would it be better to learn C++ or Python first as a total newbie to coding and programming languages?
July 21, 2024 -

Hi everybody, sorry if I’m asking a common question here. As a little background, I’m starting from the ground up in math and science, starting from pre-calculus and chemistry, so it’ll be a while until I get my first CE course in college. Since I have some time until then, I thought it’d be a good idea to get a head start on programming now so I’m not going into everything completely blind later on.

My school’s course seems to focus more on C++, but a lot of people online recommend total beginners to start with Python. Which would be a better place for me to start?

🌐
Reddit
reddit.com › r/learnprogramming › is it worth learning c before learning higher level languages like python?
r/learnprogramming on Reddit: Is it worth learning C before learning higher level languages like Python?
November 29, 2021 -

I have frequently read that learning C can give you a great foundation for learning other languages, but I am worried about the time commitment. If my goal is to become an expert in lets say Python, first learning C well enough to be usable may take months or even a year. Is the time commitment to learning C first before other languages really worth it in the end? Especially if you’re trying to get a job with the newer stuff sooner rather than later?

Appreciate any input!

Top answer
1 of 37
25
You can start with any language and you'll end up in the exact same place eventually if you're really cut out for programming. (You have a lot of patience and you're logically sound or develop logic skills later on) That being said, I have my opinions. I personally think it's better for most people to start with something like Python because you can typically write interesting applications much faster. Basically, (depending on the application) you don't have to write hundreds of lines of code just to see anything remotely interesting on the screen. It's still going to be hard as balls but you'll have a more constant feedback loop of seeing things change on screen, which will help keep you motivated. If you think starting with Python will increase your chances of success, then take advantage of it. You don't have to start with C because you think that's what all the real programmers start with. The people who say stuff like that have usually never written anything past hello world. Once you know how to program, you can learn pretty much any language but you're obviously going to find it much easier to learn C if you can already program. You're more likely to succeed at learning C because you'll already have the discipline and programming experience to deal with it. There's no right or wrong way. C itself is not a huge language but what's the point of knowing a language if you can't actually solve problems with it and create anything cool, useful or interesting?
2 of 37
21
Do not try to learn C before learning something a bit more readable like python, or at the bare minimum, C++. I promise you'll just be confused and will get lost in the weeds unless you're following a curriculum from a university.