Hacker News new | ask | show | jobs
by dqdo 3327 days ago
Depends on what you want to do. Each language has an advantage in its own domain.

If you want to build for the web then I would recommend learning Javascript. You really can't avoid Javascript on the web so it is a good thing to learn it well. You can even learn Node in order to make it easier to set up a backend for your web app. The quickest way to get started with the web these days is to learn Javascript and use it with a Node server on the backend. There is a lot of noise in the Javascript community with tools such as React, Angular, Webpack, Typescripts, etc. that are very good for advanced production code. For a beginner, I recommend that you just stick with Jquery until you have to write a large codebase (>50,000 unique lines of code).

Python is just a pleasure to work with. I personally use Python to write code that solves math problems and to build small personal projects. Some people say that there is a problem with Python version 2 to 3 transition. As a new programmer this should not be a problem for you. Just start with Python 3. If there is a package that you want to use, it will probably be ported over soon. If you start with Python 2 then you will need to update your codebase for the transition which is neither fun nor worth your time as a beginner.

Ruby is a great scripting language. I think that many of the things that you can do with Python you can do just as well with Ruby. If you are already good at Ruby or know some people who can help you then you should go with Ruby. If you are new to both Ruby and Python, I would recommend learning Python since there are way more applications for Python (i.e., data science and machine learning).

1 comments

> You really can't avoid Javascript on the web

WebAssembly is coming. So unless they need to code for the web right away, pick the best language for learning, and/or the most productive language, because getting relatively fast results is how you keep young people (unless they're natural programming nerds) interested.