Which Programming Languages To Learn in 2023
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, and the next version, C++23, is coming this year.
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). The next LTS release will come later this year. 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.
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, I would bet my time on one of these uprising stars.
Go
Why: The langauge of cloud native. If you would like to work on anything related to Kubernetes, 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
- SQL: essential for not only databases but also data warehouses; check the popularity of BigQuery and Snowflake.
- ProtoBuf: if you use gRPC.
- Bash: to become a productive developer.
- Markdown: documentation is an important skill.
Languages to avoid
(Very personal opinion. Could be very wrong.)
Perl, Ruby, PHP, Object-C.