DEV Community

Discussion: What is the best programming language to learn in 2024?

Miguel Teheran on January 03, 2024

A new year is starting and the relevance and demand for programming languages continue to shift. As we delve into 2024, certain programming languag...
Collapse
 
ben profile image
Ben Halpern

I think Python might win for its ubiquity in ML/AI circles and likelihood to get support in this arena.

Lots of ways to take this question and reasons that might not apply but that’s my first instinct.

Collapse
 
brian_curricular profile image
Brian G.

Agree 100%. Though many companies will be leveraging AI models, not building models from scratch. So Python may not become top this year, but gain on JS.

Collapse
 
brian_curricular profile image
Brian G. • Edited

JavaScript is still the most widely used going into this year, according to Stack Overflow. Python is incredibly hot on the job market and probably continuing to rise this year. But I think JavaScript remains at the top because it's entrenched and it still provides the best overall ecosystem for quickly launching and growing a software startups.

C# and Java are dark horses because they're so strong in enterprise use cases. Not likely to overtake, but will continue to be strong. Decent candidate languages to learn for those interested in enterprise software development.

I think Rust and Go are still too niche to rise to the top. Definitely growing but probably not at the rate of Python given the acceleration of ML/AI (as @ben pointed out). But either would be a great option to learn if you already know JS and Python.

Collapse
 
proteusiq profile image
Prayson Wilfred Daniel • Edited

It depends 🫣. Are you in ML/AI? Are you building cloud native tools? Are you into IoT?

For me, I will bet Rust and Python as dominating the next wave due to the increase interest in Generative AI.

As a data scientist, I feel like Alice. Always chasing the rabit

chasing

Collapse
 
alaindet profile image
Alain D'Ettorre

The big names are JavaScript/TypeScript and Python, then come Java and C# and these 4 combined make up for the vast majority of the market.

However, people who are eager to learn a new language and ask for advice usually already know or work with one of the aforementioned top 4. In that case, I'd suggest Go without a doubt, it's the best "still niche" language to learn by far, because

  • It's simple
  • It's powerful
  • It has a standard library
  • With only ~20 keywords and almost no magic, you clearly see what's going on in large and/or foreign code bases
  • It provides guaranteed stability across versions (go.dev/doc/go1compat)
  • It scales both up (cloud services) and down (small projects, CLIs, embedded) seamlessly
  • It has an amazing developer experience, since the single package you install from the official website already provides subcommands for building, testing, benchmarking, formatting, documenting, generating code, managing dependencies, checking race conditions and more: no more guessing which library to use to have some core feature or which coding style to follow
Collapse
 
ranjancse profile image
Ranjan Dailata

JavaScript is the Master of All :) That said, Typescript is inclusive.

Collapse
 
mteheran profile image
Miguel Teheran

All the technologies around JavaScript are great. They have a lot of opportunities.

Collapse
 
hoj20 profile image
J.Has12

yes

Collapse
 
mac3uck profile image
AndrΓ© Buck

Hard to find a clear no. one πŸ€”
I think Javascript is the most versatile and still getting a wider stage to work on - even Oracle put it inside their new 23c database.
For DevOps it’s maybe still Phython or GO!?
And for solid software and processes development I am interested in Rust a lot.

But that’s all from my very personal perspective …

Collapse
 
subhmsft profile image
Subhasish G

The enterprise is ruled by only 1 programming language. Have been working on a lot of old, legacy migrations to Cloud in some of the largest orgs globally - all of them are end-to-end Java houses. And within Java, SpringBoot and Reactive Programming is the most in-demand... will be around and relevant and ruling the Enterprise space for many many many years to come... at least for the natural duration of our lives.

I would then put C#, and later Python.
Go and Rust etc. are good to know... not relevant till anything is widely accepted by the Enterprise.

Collapse
 
grig13 profile image
Mazureanu Grigorian

I think Swift should be right next to kotlin. Like Kotlin/Swift depending on what you want

Collapse
 
mteheran profile image
Miguel Teheran

Can we use Swift for something different than iOS?

Collapse
 
bleece profile image
Diego Hernandez

I think golang is a solid option most jobs nowdays ask for current knowledge

Collapse
 
mteheran profile image
Miguel Teheran

Agreed!

Collapse
 
saumyasura profile image
Saumya Sura

i think kotlin

Collapse
 
mteheran profile image
Miguel Teheran

JavaScript is definitely essential.

Collapse
 
30gbla profile image
salieu Gbla

JavaScript is the cost time effective of All :) and Typescript is inclusive.

Collapse
 
dannyengelman profile image
Danny Engelman • Edited

Stupid choose-a-tool click-bait post

  • If I need to eat soup I use a fork,
  • fajitas I eat with a spoon,
  • and potato mash with my hands
Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ

The same procedure as last year, Miss Sophie?
The same procedure as every year, James.

I don't really have a singular #1; I'd go with a combination of Lua and Zig.

While Zig is relatively new, neither of them is a particularly 2024 language. I just think they're both really good languages and together cover a very broad spectrum from low-level programming close to the hardware to much higher-level programming and scripting.

Collapse
 
mteheran profile image
Miguel Teheran

But since this is a new programming what about job opportunities?

Collapse
 
clsource profile image
Camilo
  • Elixir for Machine Learning
  • Elixir for Concurrent Backend
  • Elixir for Serverless
  • Elixir for IOT
  • Elixir for Mobile Apps
  • Elixir for React.js replacement
  • Elixir for Jupyter Notebook peplacement
  • Elixir is awesome

Elixir is a swiss knife :)

Collapse
 
esproc_spl profile image
Judy

esProc SPL

Collapse
 
starswan profile image
Stephen Dicks

Purely for learning, Elm has to be my #1. Statically typed, functional, runs in the browser. Can't ask for much more IMHO

Collapse
 
mariusfromnorway profile image
Marius from Norway

Why learn JavaScript when TypeScript exists? Not rooting for any particular language, just geniunely curious!

Collapse
 
mteheran profile image
Miguel Teheran

There are many projects that do not use TypeScript at this moment. This is a feeling that many managers have about TypeScript, and it's important to work with both technologies. I am currently working with React.js without TypeScript

Collapse
 
codingjlu profile image
codingjlu • Edited

Best in terms of usage or user experience?

Collapse
 
isaacdizzoh profile image
Isaac Adam

What about C++?

Collapse
 
tharakamts profile image
Tharaka Sandaruwan

I think Typescript and Mojo should be included in the list.

Collapse
 
dmitriiesin profile image
Dmitry Esin

Elixir might be useful to be able to find a project in a less crowded programming language that has a bright future (an alternative tech stack that is less overcrowded and has a good future outlook)