Live data from Hacker News

Which is best coding language?

news.ycombinator.com

1–10 of 16 posts

Re: Which is best coding language?

#4
What is the best fruit? The best song? I couldn't objectively tell you.

Which are commonly introduced to beginners? I'd say JavaScript and Python. For JavaScript, JavaScript.info [0] seems to be a favorite. For python, I believe that title goes to "Automate the Boring stuff" [1]. I think FreeCodeCamp [2] has courses on both. Take what I say with a grain of salt though, I haven't been a beginner for a decade and I'm just basing this off of other recommendations I've seen given.

[0] https://javascript.info/

[1] https://automatetheboringstuff.com/

[2] https://www.freecodecamp.org/

Re: Which is best coding language?

#5
Try Go

It’s quite simple, and has a ton of resources. The tour of go should help you understand the language at a very high level. It might also help you understand a bit about how the computer itself works (memory and cpu) without making you feel overwhelmed.

If you end up learning Go you might get a decent paying job since it is one of the higher paying languages.

Once u get the hang of programming simple things, try to imagine products you want to build and figure out how you’ll do it. That would teach you basic systems design.

Ultimately all programming becomes the same whether it’s OO or functional or whatever. Doesn’t matter. Eventually you’ll get to a point where you pick the tool that gets the job done. Doesn’t matter what the end looks like - it’s a damn screwdriver.

Re: Which is best coding language?

#6
There is no "best" language, all of them are their own special circle of hell, with advantages and disadvantages relative to the problem you're trying to solve. And if you're learning, the specific language isn't as important as general concepts.

A lot of people start learning with Python, so maybe try that or Javascript. C++ is also good but it can get complex quickly.

Re: Which is best coding language?

#8
I think it depends on how you want to approach learning. If you want to learn in a systematic way and learn how to think about designing programs, and consider coding to be a natural byproduct of that, I would recommend a book such as How To Design Programs[1] (there is also the SICP, but it's a bit more dense than HTDP). It helps you learn from the ground up how to design a program and think about programming and uses a custom language built for learning.

If you want to learn coding in a less rigorous way or one where you make some stuff rather than learning various higher level concept or principles, you could start with Python using Learn Python The Hard Way[2]. Python is generally a good beginner language as it doesn't have that many gotchas compared to a language like JS and it's a language that prides itself on doing things the Python way and (more or less) in one specific way, which reduces the initial learning curve a bit.

You could alternatively approach learning to code by learning something such as generative art in Processing[3] (which is in Java, JS, and Python). This is a cool approach as it helps you both learn to program but gives you something "tangible" and really visual, rather than just text.

All in all there really isn't a best language (and anyone who says so is lying and/or deluding themselves) and there isn't a best way to learn, so it depends on your motivations, desires, and how you learn.

1: https://htdp.org

2: https://learnpythonthehardway.org/book/

3: https://processing.org/tutorials

Re: Which is best coding language?

#10
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!

Post reply on HN