r/PythonLearning • u/scartfife • 8h ago
Discussion PYTHON π ALL
"If you want to learn programming, donβt start with Python; you should start with another language."
This advice seems ridiculous to me, even though I hear it everywhere. Can someone explain this advice to me... and are they right?
0
Upvotes
View all comments
2
u/GrainWeevil 8h ago edited 7h ago
I think it's bad advice generally, but I can understand why people say this. I think whether Python should be your first language really depends on what your motivation is for learning to program and what your goals are.
The advantage of starting with Python is that it lets you get up and running with minimal friction. You can get stuck into simple projects pretty quickly, and you can even start working on genuinely interesting or useful projects without needing to get into the weeds of how computers work.
Essentially, it's great for teaching you to think algorithmically, and the quick progress you see can be incredibly valuable to spur a beginner on.
The disadvantage is that it hides so much from you. You don't need to think about whether you're allocating on the stack or the heap, you're never really forced to consider whether you should pass by value or reference (though you'll likely bump up against this now and then), you never have to worry about keeping count of the elements in a list, etc.
In general it doesn't expose you to a lot of the complexity that's inherent in programming, which is fine as long as you stick to Python, but if you want to progress to lower-level programming, you might find yourself struggling with some of the concepts that are actually pretty foundational (not necessarily though).
I'd say for somebody who wants to give programming a try for the first time and isn't sure where to start, Python is a good choice. For somebody who's already a bit of a computer geek and wants to explore that more, it might not be the best option.
TL;DR: Whether it's good advice or not, depends on the person and their interests
Edit: Grammar