logo

Which Programming Languages To Learn in 2024

Last Updated: 2024-01-15

4 Core Programming Languages

The following 4 languages are the corner stones of the current tech world. You should at least master one of them.

C++

Why: still used by the largest and most successful tech companies, like Google and Meta. You may see news about C/C++'s possible successors (e.g. Linux, Android, Chromium start to introduce Rust to their code base), but C++ is unlikely to be replaced in the near future. C++11 and later versions greatly improved the language, C++23 was released in 2023. The language will continue to evolve, the next version will likely be C++26 in 2026.

Why not: C++ is too complicated and hard to get right. If you are starting a new project, there are better alternatives.

Java

Why: Java is steadily moving forward with new releases every 6 months and LTE version every 2 years (since Java 17). It is widely used for backend and mobile (Android).

Why not: Kotlin is gaining popularity in Android development, and may eat Java's share in backend development.

JavaScript

Why: THE standard of web development.

Why not: Typescript adds type checking to JavaScript.

Python

Why: Very popular in machine learning / data science; easy to learn. Many start-ups use Python based web frameworks.

Why not: not suitable for large projects. YouTube started with Python, but as the service grow, it had been replaced by C++.

4 Emerging Programming Languages

If you want to learn something new and shiny, choose one of these uprising stars.

Go

Why: The langauge of cloud native. If you would like to work on anything related to Kubernetes / Docker, learn Go. It is easy to pick up, actually it was created in Google because C++ was too hard to use.

Rust

Why: Introduced to many high-profile open-source projects like Linux, Android, and Chromium. Used by Meta.

Kotlin

Why: Strongly supported by Google for Andoid development. I do not see a reason why it cannot replace Java on the server side as well.

Swift

Why: The official successor of Object-C. If you are intested in development in Apple's ecosystem.

Extras

Not considered as "real" programming languages, but every software developer should get familiar with these tools:

  • SQL: if you work on any backend and databases (Postgres, MySQL, etc)or data analytics / data warehouses (check the popularity of BigQuery and Snowflake).
  • ProtoBuf: if you use gRPC.
  • Bash: to become a productive developer.
  • Markdown: documentation is important.

Languages to avoid

(Very personal opinion. Could be very wrong.)

If you are working on some legacy projects, you do not have a choice; but if you are starting something new, I would suggest avoid these languages:

  • Perl: use Python.
  • Ruby: not that many companies use Ruby nowadays, judging from the job posts.
  • Object-C: superceded by Swift.
  • Scala: hard to learn; the only usage I'm aware of is Spark, but now Spark provides many other interfaces so you do not really need to know Scala to use Spark.
  • PHP: ...