3 ms·
There's no definitive answer for that, but I'll try to answer with the rest of your post in mind and take this as "Which is the best coding language for learnin
by drakonka 4y ago
There's no definitive answer for that, but I'll try to answer with the rest of your post in mind and take this as "Which is the best coding language for learning to code?"
The possibilities here are endless, but whenever I'm actually asked this question, the first thing I personally go by is my perception of what kind of person I'm talking to:
Are you a "bottom-up" learner, where they want to start at the very building blocks of how things work? I might recommend C or C++ (or maybe Rust, now?), and a book or two. Are you a "fast feedback" learner, where you need some kind of immediate feedback to whatever you're writing to stay motivated, and want to iterate and figure things out fast? Python or JS come to mind there (which will likely make the learning process more "top down", where you go from "just make something happen" and then dig deeper into why things actually work the way they do, data structures, the underlying type system, etc.)
Somewhere in the middle (in my mind) is my personal favorite language, Go: not bloated, does not abstract away too much, great for learning the building blocks of programming but not as intimidating as C++ or Rust can be. It does require potentially a _little_ more environment setup than something like JS or even Python, which usually comes pre-installed on the OS. But Go's amazing test tooling makes it a joy to write code and get fast feedback with basic test scripts.
I think you should pick the language that will keep you interested and motivated the most. Learning to code can be a very rewarding and very frustrating experience. Starting with a language that isn't conducive to your learning style can make it difficult to stick with.
As a real-life example:
When my boyfriend asked this a few years ago, he seemed like the kind of person who would like to see progress fast: open an editor, play around, and see something come out. For him, I suggested Python. I could have also recommended JS if he had seemed like more of a "I want to see something visual in a browser vs a terminal" type of guy, but he was happy with feedback from the terminal and I thought Python was a decent starting point. After exploring programming with Python, he ended up going to university for computer science and is now in his first job as an SE, so I think it worked!
Good luck!