Hacker News new | ask | show | jobs
Ask HN: Which programming language to learn in AI era?
14 points by ukrainian 1032 days ago
Hi. I'm in my 40s, relocated to a new country. I am thinking of changing my career and learn a new programming language to get a job . I've always had a passion for technology and something useful I can develop with it. AI is changing the IT landscape and the way people build software. At this time I'm not sure which language I should start with. Should I choose React.js, Python, or is there something else that's trending? Any courses, youtube channels, recommendations are welcome
10 comments

Hey there, it depends on a lot of things. Out of interest, what programming languages do you already know, and why do you want to learn a new one. It sounds like perhaps you are experienced in a language with fewer jobs and want to maximize your chance to get a job?

In any case JS/Typescript or Python are safe choices. If you want to learn more data-science/AI stuff then Python would be a good choice. For front-end or full-stack web (as in front-end and back-end) JS would be a good choice.

Another choice is Go - if you think you are likely to go into a devops type role and want to understand Kubernetes, Docker, Terraform, etc. more closely.

Other decent choices for finding work are C# and Java.

You're absolutely right. I knew some PHP in my past. The market doesn't need it much anymore. Most of the jobs are related to WordPress customization, which is a good way to earn money. However, with AI advancing literally every week, I believe that most of these jobs, at least the entry level ones will be cut. Thank you for the great comprehensive advice about JS, Python and Go. I appreciate it
Learn a strongly-typed programming language (so the compiler can guide you on how to fix your mistakes), preferably with garbage collection (so the compiler can take care of memory management for you), preferably one that supports modern language constructs (so you can later on switch from one programming language to another without a lot of re-learning). The obvious choices are Golang, Rust, Typescript, Swift. I would probably recommend Golang, since it's the simplest and can be applied to various problem domains: command-line utilities, web development, etc. All you need to get started is YouTube online tutorials.
If AI is your focus I would say learn Python and how to interact with it via Jupyter/ Colab. And once you feel your skills are good then go for learning how to use pandas, numpy and scikit learn on data out there. From there the NN and other stuff should be more graspable. This is my personal experience with python and machine learning. I know several other programming languages but relearning the math and how things work is the big challenge with machine learning.
My free open source bootcamp https://github.com/Lesabotsy/bootcamp. Made it when I got asked your exact question too many times.
The Helsinki University's course looks very promising! Thank you for sharing the link!
Yes, the Full Stack Open Course is very good about ramping up on React, Node, even JWT and CI.
Don’t pick ‘trending’ - pick something that’s been around for 30 years and growing the entire time. JS and Python check those boxes but also ‘boring’ languages like Java. The best thing about Java is that companies find it solid and predictable, making them more likely to choose it for the long term - and it also connects you to an ecosystem of similar, ‘sexier’ languages that run on the JVM - like Kotlin
> Should I choose React.js

React is just a framework. Learn vanilla JS instead.

Thank you! Any nice books or courses to start with?
I'm a big fan of nodeschool.io

I learned from w3schools.com but there are better resources now. MDN is generally a better resource https://developer.mozilla.org/en-US/docs/Learn/JavaScript

I also know that Harvard offers some CS courses for free online - https://pll.harvard.edu/course/cs50s-web-programming-python-...

As someone writing an AI library in Typescript - if AI is your main focus, learn Python. You'll have access to the largest AI libraries and frameworks with the most support materials and userbase.
There are advantages of choosing JavaScript too:

- It is already possible to run LLMs and langchain.js directly in the browser. The web is the dev environment if you code JS.

Yup, I'm building a library that runs LLM's in browser with tagged template literals: https://github.com/gsuuon/ad-llama

I think it has fundamental DX benefits over python for complex prompt chaining (or I wouldn't be building it!) Even still -- if their focus is purely on AI, python is still the better choice starting from scratch. The python AI ecosystem has many more libraries, stack overflow answers, tutorials, etc available.

Before you settle on JavaScript (which, by all means, is quite useful) you may want to decide how seriously you take the talk of "AI era". In AI and machine learning, Python rules.
> Learn vanilla JS instead

Then learn TypeScript.

Python is a popular choice due to its extensive libraries like TensorFlow and PyTorch. If you're into data manipulation, R is great. For performance, languages like C++ and Julia are valuable. Remember, the language is a tool; understanding AI concepts matters more.

Start with one that aligns with your goals and explore from there!

I doubt performance is better writing in C++ or Julia by an average programmer. Libraries such as tensorflow or numpy are highly optimized and pass heavy stuff to C, Fortran or similar.
In all honesty, the language is almost irrelevant. It's the technology and use that is critical.

Instead of learning React, focus on building websites (learn SSR, CSR, etc). Become familiar with different techniques for it.

Will you learn Python in the process of learning to build websites? Probably. Is it necessary? Nope.

Do you have any programming experience? If so, you really shouldn’t have to “learn” python in any serious sense of the word. It shouldn’t take much more than a solid afternoon to be able to use much of the language.
I am familiar with PHP, JS and was able to create basic to moderate complexity things like CMS 5-7 years ago. Thank you for the advice
Go is a small language that is widely used and easy to pick up.