DEV Community

Miguel Teheran
Miguel Teheran

Posted on

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

A new year is starting and the relevance and demand for programming languages continue to shift. As we delve into 2024, certain programming languages stand out, offering a great opportunity to improve our knowledge and career.

In this discussion, we aim to dissect this question by analyzing the ecosystem of programming languages that hold promise in 2024.

Taking into account the market, the threading technologies and job opportunities here my top 8 list:

  1. Rust
  2. Go
  3. JavaScript
  4. Python
  5. C#
  6. Java
  7. Elixir
  8. Kotlin

Share your list in the comment and let's discuss

Top comments (31)

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
 
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
 
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
 
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
 
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
 
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
 
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
 
saumyasura profile image
Saumya Sura

i think kotlin

Collapse
 
30gbla profile image
salieu Gbla

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

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
 
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
 
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
 
kwnaidoo profile image
Kevin Naidoo

A C dialect, either C++, C#, or Java. These are harder to master and are statically typed. The courses provided by Microsoft or Oracle are solid engineering fundamentals that will help you learn how to solve complex engineering problems later on in your career.

What you want to do, is learn how to become an engineer or architect. This means you need to gather experience and learn important concepts: SOLID, loose coupling, IOC, big o notation, stack, heap, etc...

Once you can solve problems. Language becomes irrelevant and you'll move between them depending on the nature of the problem you solving.

Forget about hype, every 10-15 years - these change, just keep yourself current with one of the mature languages.