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???
Videos
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.
I'm a beginner in programming and I saw several people saying that it will be easier to learn Python or any other programming language to start by learning the basics (C). Does it really make a difference?
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?
Use python until you have a performance problem. If you ever have one figure out what the problem is (often it isn't what you would have guessed up front). Then solve that specific performance problem which will likely be an algorithm or data structure change. In the rare case that your problem really needs C then you can write just that portion in C and use it from your python code.
C will absolutely crush Python in almost any performance category, but C is far more difficult to write and maintain and high performance isn't always worth the trade off of increased time and difficulty in development.
You say you're doing things like text file processing, but what you omit is how much text file processing you're doing. If you're processing 10 million files an hour, you might benefit from writing it in C. But if you're processing 100 files an hour, why not use python? Do you really need to be able to process a text file in 10ms vs 50ms? If you're planning for the future, ask yourself, "Is this something I can just throw more hardware at later?"
Writing solid code in C is hard. Be sure you can justify that investment in effort.