33
this post was submitted on 24 Mar 2026
33 points (90.2% liked)
Programming
26206 readers
375 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I was taught a bit of C and still don't understand why. I see the use of C but it feels much too low level to be useful for the kinds of things I might want to do.
Python and JS are much more relatable.
Edit: I'm getting a lot of hate for this "hot take" for some reason. I don't know what to tell you, people learn this stuff differently. For me the "from first principles" approach framed programming as something I shouldn't bother with because it'd be forever until I learned how to do anything useful with it.
To me C and C++ seem powerful but it feels like having to invent the universe before I can get anything done. I'm not working on embedded systems or something.
Ill counter that by saying that because you started with something more low level, the other stuff was easy (my belief).
Also, depending on what the students are actually studying, I think you need to give an introduction to low level stuff because while some will want to do web dev for example, others might want to do low level stuff. Obviously if its a web dev course you dont want to do that, but if its something like CompSci or Software Engineering then i think having a grasp of the fundamentals of low level stuff is necessary.
Lastly, if its a general introduction to programming course I think C has advantages over other languages since almost everything is done by you, instead of the compiler (for example iterating over an array - C: you need to do the for loop to manually handle the data depending on whatever type is stored in the array - Python: for x in y is sufficient). Im tutoring my little sister in programming because they have it in school, and they use python. Sure its easier to get things done, but its harder to learn/teach general programming with python in my opinion. C would have been my choice, especially since at that level its not like you need to teach/learn memory management, or complex data structures. Its the same concepts as with python (input, output, variables, conditionals, loops, functions) but the syntax just doesnt hide too much from you, unlike python, making it easier to understand whats actually going on
I didn't find the difference in fundamentals between Python and C to be substantial. C felt similar but more unintuitive and more annoying to work with due to having to compile.
Understanding exactly how the sausage is made didn't help me in the slightest. It was needless complexity when I already had a lot to digest.
I understand your perspective but for me it was like throwing up countless roadblocks to the point where I lost all enthusiasm for the subject.
It was many years before I tried again, this time with JS and Python.
These days I'm a professional software engineer.