7 ms·
Ask HN: Which programming language to learn in AI era?
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
- tsingy 3y agoMy free open source bootcamp https://github.com/Lesabotsy/bootcamp https://github.com/Lesabotsy/bootcamp. Made it when I got asked your exact question too many times.
- ukrainian 3y agoThe Helsinki University's course looks very promising! Thank you for sharing the link!
- reducesuffering 3y agoYes, the Full Stack Open Course is very good about ramping up on React, Node, even JWT and CI.
- tmm84 3y agoIf 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.
- WallyFunk 3y ago> Should I choose React.js React is just a framework. Learn vanilla JS instead.
- ukrainian 3y agoThank you! Any nice books or courses to start with?
- hmcq6 3y agoI'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 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-and-javascript/2023-05 https://pll.harvard.edu/course/cs50s-web-programming-python-...
- T-A 3y agoBefore 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.
- gsuuon 3y agoAs 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.
- meiraleal 3y agoThere 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.
- gsuuon 3y agoYup, I'm building a library that runs LLM's in browser with tagged template literals: https://github.com/gsuuon/ad-llama 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.
- l33t7332273 3y agoDo 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.
- ukrainian 3y agoI 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
- kubota 3y agoGo is a small language that is widely used and easy to pick up.
- consoomer 3y agoIn 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.
- gary17the 3y agoLearn 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.
- ezedv 3y agoPython 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!
- aborsy 3y agoI 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.
- quickthrower2 3y agoHey 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.
- ukrainian 3y agoYou'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
- Aqueous 3y agoDon’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