There are 100s of programming languages (and tools and frameworks) out there and many of them have good use cases.
But most of them are super niche or aren't worth your time unless a company is willing to pay you a bunch of money to use that specific language and you don't mind taking on the role/project.
So how the hell do you decide which ones you should actually pay attention to and learn?
You read this guide of course... easy as that 😉.
All joking aside, the best language to choose really depends on what your goal is, as certain languages are best for certain careers.
However, if you're not sure what career you want to move into, or if your goal is as simple as you want to get hired, promoted, or to maximize your salary, then keep reading.
Because we've crunched the numbers and spoke to our instructor team of industry experts to come up with the 12 best programming languages to learn in 2024.
We took the 100s available, narrowed them down to 25, and then narrowed them down even further by applying these 5 main criteria:
Also, we've provided you with a bunch of recommended learning resources (including many free resources) so that you can get started learning right away.
Note: This might sound obvious but please don't try and learn all of these languages.
If you're a beginner, just pick one and go all-in. Don't jump around trying to learn multiple languages when you're starting out, as it's a bad use of time.
If you're not sure how to decide, we wrote an entire guide that tells you exactly which language to learn as a beginner. It also explains the basics of a lot of the jargon you'll hear (ex: low-level vs. high-level, front-end vs. back-end, etc.).
If you already know a programming language then keep reading to see if any of these could be a good fit for you to add to your existing toolkit.
🚨 WARNING: This section contains spoilers.
We know you would have just scrolled down to find out the winners anyways so here they are based on the combined scores we gave for each of our 5 criteria.
Python was the winner for only 2 of our 5 criteria but it also ranked high in each other category that it didn't win.
I'll go through the scoring system soon as we look at each category, but this combination of results made Python the clear overall winner of the top programming language to learn in 2024.
If you have any interest in working with data (so many roles!!) or want to get into Machine Learning and AI, just go start learning Python right now.
But Python isn't the best for every career.
For example, if you're interested in a career in Web Development (or looking to level up your web dev career), there are a wider variety of options and the battle is a lot closer.
Now that you know the results, keep reading to see how each of the 12 languages stacked up, and why we recommend them. We've provided a detailed breakdown of each language to help you decide what the best choice is for YOU.
More of a video person? Aldo recently made his Top 5 picks on the ZTM youtube channel. See how his Top 5 stacks up vs. our Top 12 👀.
Still with me?
Alright, let’s take a look at each criteria to find out how each language ranked.
This is such a key criteria because if there aren't jobs available, then what's the point of learning the language?
For this year's edition of this guide, we decided to be quite strict. To even make it onto on short list of 12, each language needed to have at least 1,000 job postings for US based roles, on a single job posting site.
That way we know the chances of you getting hired after learning one of these languages is still high - even if it’s an up and coming hot new language.
We scored this particular criteria from 12 to 1.
If the language was in 1st place with the most jobs available, it got 12 points, the 2nd got 11 points and so on.
Combining our 12 programming language finalists, there are almost half a million jobs open, 422,230 jobs available as of writing.
Of these, Python is the most in demand with 84,500 current job postings.
This is just one of the reasons why still we recommend 99% of beginners learn Python (or Javascript) first.
There’s huge job demand, it’s still steadily rising in popularity and use cases, and it pays very well compared to other high demand languages (4th highest average salary and over $120,000).
Not to mention, it’s used across a multitude of projects and industries. Want to get in early on the recent AI boom? Python is a good bet.
We only included programming languages with an average salary of at least $100,000 (while still having many jobs available).
This did mean that a few popular languages didn’t meet the cut.
For example
VBA is a great tool for data analysis and automation. Knowledge of VBA can open the doors to a lot of open roles right now but the average salary tends to be a bit lower (~$79,000).
Don't get us wrong, that's still fantastic, but we had to cut the list somewhere!
Also, it's rare that someone would be a "VBA developer". Instead, it's usually one of the skills (but not the only required skill) that's listed in a variety of data analysis and Business Intelligence roles.
Skills you'd combined with VBA would be:
Interested in data? Check out this guide which breaks down the difference between a Data Engineer vs a Data Analyst vs a Data Scientist.
On the other end of the spectrum, there is Solidity (which is used in the Web3 world).
This industry actually suffers from a lack of skilled developers, so in theory, it has a lot of opportunity. Add in the fact that the average salary was $179,000 per year and it's a dream role.
However, there were less than 300 job postings across the US, so it also didn't make the cut for this list.
That being said though, if you believe in Web3, NFTs and think maybe the crypto world could make a big comeback, or you're just super interested in it, then by all means, go for it!
Like we said up top, the best choice of language to learn, is the one that's used in your ideal career goal.
This guide is here to help people who are not sure what they want to do, and narrow it down based on languages and opportunities. If you have that goal then learn that language.
In terms of highest average salary, Ruby, TypeScript, and Kotlin pulled ahead with around $127,000 - $134,000 per year.
However, if you were to only look at the overlap of job demand and salary, then Python, SQL, and Java would be your best options for both income and job opportunity.
We ranked this criteria also from 12 to 1. The language with the highest average salary got 12 points, the next got 11 points, and so on.
Some languages are just more difficult to learn than others.
Now obviously, this criteria is subjective, so don't take these rankings as gospel or go arguing in the comments! Instead use it as a rough guide to help you determine what language might be best for you, based on other peoples experiences.
For this section, we’ve based the level of language learning difficulty on the collective opinion of the many years of experience from our instructors and by asking other devs in our community.
For this criteria, we used a tiered ranking system:
This means that no language on this list is too difficult to learn.
However, it may seem like a language is ranking lower, when in reality, it's very similar to the languages above it, just ever so slightly more difficult to use.
Again, none of these are too difficult, and SQL is the clear winner here, as it can be picked up super quickly.
But in terms of programming languages that have a much wider range of uses cases including web development, it's pretty well agreed upon that:
If you already know a programming language then Rust, Golang, and TypeScript are all seen as fairly easy to pick up, while Java has a huge ecosystem to help people learn, and Kotlin and C# are similar to Java.
The most difficult on this list being C++, but even that isn't too difficult. It's just not as easy to learn as the others, so if that's your language of choice, don't let this ranking put you off.
Because this was a tiered system and not a definitive rank, we used a fibonacci series to rank each tier and assign points.
With each tier (bar the simple one) containing multiple languages.
It’s one thing if the language is easy to learn and the job pays well, but if it makes you want to pull your hair out instead of using it day to day, that’s not great.
So, we figured we would see what other people had to say about each language, and if they want to work with them or not.
Fortunately, StackOverflow does an annual survey and always includes a question to find out the ‘the most loved and hated programming languages and tools’ based on developer responses.
(Click to zoom in).
For the 2023 edition of StackOverflow's developer survey, they moved away from most loved and hated languages, to a new system called 'admired and desired'.
It's a little more complex, but here's what it all means:
It's all super interesting, but the stat we're focusing on is the red dot because this answers our key question: Are people using the language actually enjoying using it and plan to continue using it?
So the percentages we're using here are the red dots.
Make sense?
Awesome! Now of course, you need to take this data with a pinch of salt, as these are still personal opinions. Some people may be new to a language, or they might be new developers and just do not like a language for some specific reason unrelated to what's important to you.
Heck, they might have been using the same language for 10 years and are just over it. Or maybe the language does actually just suck 😆… there are a lot of responses after all!
If we filter down StackOverFlow’s responses to just the languages on this list, then Rust is the clear winner, followed by TypeScript and Python.
Over 84% of Developers using Rust, love it and want to keep working with it!
For scoring of this criteria, we used the 12 to 1 points method again, with the highest percentage of happy users getting 12 points, and then descending from there.
Finally, we wanted to rank each language based on where it'll be 5-10 years from now. The more future-proof it seems to be, the more worthwhile it is to learn (no guarantees here, don't hold us to it ok people... thanks).
Again, this is fairly subjective, as we're trying to make predictions based off of opinions and trends and we're still trying to figure out how to accurately predict the future.
So we combined three different factors to make up our score.
#1) We included some gut feel here based on our general industry knowledge and the fact that our team stays up-to-date on the latest industry news (we do write 3 newsletters every month after all).
We tried to answer questions like:
#2) Then we looked at the Tiobe index.
This is a popularity tracking chart of programming languages based on their usage, volume of searches along with a few other things over time.
#3) Finally, we looked at the pull requests for specific languages in GitHut 2.0 for 2023. (They only show last year's data).
It’s not the most up-to-date information, but based on the number of rising or declining requests, we can get a rough approximation for the popularity of that language for last year, and use that to help see the coming trends.
We then ranked those languages on a tiered system again, using a Fibonacci sequence.
The tiers are:
That being said, every language on this list is worth learning (depending on your goals).
Some are future-proof because they're being used in the latest, trending technology (ex: Python) while others future-proof because they are so deeply embedded into existing systems that are unlikely to be replaced that quickly (ex: PHP).
So some other criteria we thought about here were:
Combining all this led to selectively the following 3 as our 'most confident' future-proofed languages to learn in 2024:
Again though, every language on this list is worth learning! Even the older or declining languages are so entrenched in large systems, there's very little chance they'll be totally irrelevant over the next 5 years unless something drastic happens.
For example
PHP is used in Wordpress, and almost 1/2 the internet is built on it, so it's fair to say it's sticking around for now!
So let's take a look at all of them compared:
We cover the reasons why in each of the language breakdowns below.
One final note on scoring, for this final section we used the tier system and fibonacci series again:
If you're interested in a specific language, you can click below to skip ahead:
Somehow Python just continues to get better and better. It's definitely aging like a fine wine! Even though it's over 30 years old, it's popularity continues to grow 👴, and with good reason.
Python is incredibly versatile and powerful, and a favorite amongst both beginners and seasoned devs.
Beginners love it because it's easy to learn and has a low barrier to entry thanks to its syntax and similarity to the English language. This allows you to get a basic understanding of coding and being able to build real-world projects quite quickly.
But it's not just beginners using it, it's also used for some of the most complex machine learning and AI tasks.
It’s a ‘general-purpose’ language, meaning that it’s not limited to specific project types and can be used in multiple fields such as Machine Learning, AI, Data Science, Web Development and much more.
It’s used by companies of all sizes including major companies like Google (for their search platform and Youtube) and Meta thanks to its ability to scale well.
Even many non-developers, especially those in growth marketing, operations, and finance are using Python to write basic scripts to help automate tasks and make their lives easier.
The key thing with a lot of the top career opportunities is that you need to love working with data!
Again, this isn’t an exhaustive list. However, each of these careers is incredibly popular, are in growing industries, they pay well, and many of these roles require Python knowledge as a key skill.
Also, because Andrei is such a great guy, he agreed to let us put the first EIGHT hours of his Python bootcamp for free on our Youtube channel... enjoy (thanks Andrei)!
SQL (Structured Query Language) or ‘Sequel’ is not the sexiest programming language on this list, but it should definitely be on your radar if you’re interested in any data related role especially due to its ease of use.
Primarily used as a tool to analyze data and find insights, and managing and manipulating relational databases, it also helps with deep learning programs, allowing you to optimize and scrape large data sources.
It's not just used for data science and data analysis either. Back-end and Full-stack web developers work with databases like Postgres and MySQL for their apps as well.
Interestingly, SQL is also becoming more popular with “Growth Marketing” teams at a lot of tech companies so this could be an interesting way to get your foot in the door with a high growth company.
Like we said, it’s not the sexiest of projects but it's clearly in demand with a lot of job postings and still a solid salary as well.
Our biggest concern with SQL is how future-proof it is given tools like ChatGPT and their ability to write SQL very well.
That said, what will be important is understanding the fundamentals, especially of databases themselves.
To further future-proof yourself, you should definitely consider combining SQL skills with another programming language (ex: SQL + JavaScript + Node.js as a back-end developer).
A moderately easy language to learn, TypeScript supports modern JavaScript features such as classes, modules, arrow functions, async/await, and more. These features improve code organization, readability, and maintainability, allowing developers to write cleaner and more expressive code.
This type system also makes code easier to understand and maintain, particularly in larger codebases.
For example
By explicitly specifying types, developers can convey their intentions more clearly and reduce ambiguity in the code. This can make it easier for developers to collaborate, refactor code, and add new features over time.
Developers love TS, with over 70% of those that currently use it, wanting to continue to use it next year.
It also pays very well. But there are only 7,256 jobs available, making it a fairly competitive language to be hired for right now.
Or check this out to learn the key differences between TypeScript and JavaScript to help you decide whether to learn TypeScript or JavaScript... or both.
Rust is a rising star in the world of programming and is renowned for its focus on both safety and performance.
It's also the #1 rated programming language that developers love to work with, and used by companies like Dropbox, Firefox, Cloudflare (which helps deliver a huge segment of the internet), and many others.
Rust was designed by Mozilla for systems programming, with some fairly unique features. It has an emphasis on security and speed and has built in safety measures to stop programs accessing areas that could cause errors, among a few other benefits.
Its design also helps to prevent common programming bugs, which allows for high-speed execution, without compromising on reliability - making it a great choice for applications where reliability is critical.
Although Rust isn’t that difficult to learn, it definitely requires a little more effort than say Python or Javascript.
Because of its relatively new status, the job demand for Rust is not huge (22,489 postings), but it’s quickly being adopted as the language of choice for cutting edge companies, meaning you could be working on some really cool stuff if you learn Rust.
Pair that in with how nice it is to use and the fact that one of the top cryptocurrencies is built on it, and Rust could be a definite contender for you to learn this year.
Add in the fact that the average salary is $109,905, and it’s a great choice to learn this year.
Want to get started right now?
Well lucky for you, Jayson is just as nice as Andrei. He also shared the first 6 hours of his Rust Bootcamp for free on our Youtube channel (and people LOVE IT... check the likes and comments 😍).
This Rust Crash Course will give you a great foundation to build off of.
Similar to Python, JavaScript is a beginner friendly language, thanks to its readable syntax (i.e. it reads more like English than machine code).
It’s not just popular, it’s essential if you want to get into Web Development as a career.
It’s been around for 17 years now and is literally the backbone of modern Web Development:
This means you can choose to specialize in one area (such as a front-end or back-end web developer) or even learn how to use it for both front and back as a full-stack developer and increase your earning potential.
Again, if you're not sure what front-end, back-end, and full-stack means, then check out this guide where we break it down.
Web Development is not your only option with JavaScript either.
JavaScript is incredibly versatile, meaning you can work in other areas such as Mobile Development, Game Development, or IoT solutions.
This is thanks to its integrations with frameworks and runtimes like React, React Native, Angular, Vue, Node.js, Next.js, Three.js, and more.
Think of these kind of like add-ons that give JavaScript some power ups and versatile enough to get pretty much any job done.
As for career opportunities? They're still super solid (yes, even with the recent layoffs... we cover that more in this post)!
And the pay? It's not bad at all:
Not bad right?
This isn’t even taking into account any other roles that you could pivot off into after getting a solid grasp on the fundamentals of JavaScript.
Also, companies are always looking for people with experience in each of those frameworks mentioned above so the actual # of roles is much higher.
But the key is that JavaScript is the core that you need to truly grasp before branching out into those other frameworks, so be sure to learn it first.
TL;DR:
JavaScript isn’t just a language but the heartbeat of the web. Its functionality, flexibility, and widespread use, make it an essential skill for any developer.
There are so many paths and options once you learn JavaScript - always giving you something new to learn and leverage. Add in the fact that it’s forgiving for new developers, and it’s an ideal language to learn first or add to your skill set.
Want a sneak peak of a lecture from Andrei's Complete Web Developer Bootcamp? Watch this video below where he explains how JavaScript works.
Or you can follow the same path that he took to learn to code and get hired in 5 months for free (full step-by-step guide).
C++ is a low-level language, which means its syntax is very similar to machine code.
This does make it a little harder to learn, but this low-level code means that it runs incredibly fast and uses computer resources more efficiently. (It doesn't need to be converted like some languages require).
This is what makes it a great option for software that has to run fast, programs that need to respond in real-time or is resource heavy such as:
Tech nerd? Well, if you’re interested in the inner workings of code and enjoy optimizing to its fullest potential, then C++ could be your new favorite playground.
It's syntax is similar to Java, C and C#, so it will be easier to pick up if you have experience with any of these.
TL;DR:
C++’s combination of speed, versatility, and control make it an invaluable skill for any developer who wants to tackle high computing coding challenges.
Used by companies such as Amazon, IBM, Ebay, Airbnb and Google on their backend, Java is a feature heavy, object-oriented programming language.
Although not as easy to learn as Python or JavaScript, it’s still a high-level language meaning that the syntax is easier to read than other low-level languages.
Thanks to this, it does mean that there are a lot of job opportunities for this language, with it being the 3rd highest on this list at time of writing (54,832 postings).
Having been around for decades, it’s the language of choice for a lot of enterprise-scale organizations thanks to its stability, scalability and its longevity, although as you can see from the Tiobe index, it appears to be trending down.
That being said, Enterprise tends to pay well, which is why the average salary for a Java Developer across the current open positions is around $117,931 per year.
Java's "write once, run anywhere" principle, (thanks to the Java Virtual Machine or 'JVM'), allows Java applications to run on various platforms without modification. This cross-platform compatibility is a significant advantage in today's diverse computing environments.
Just like Microsoft's C#, or Apples Swift, Golang or ‘Go’ is Google's own programming language and was designed as an alternative to Java.
Go is a low-level language that compiles into machine code, allowing it to run incredibly fast. This means that it works well with heavily distributed systems, web servers, machine learning, deep learning and data pipelines.
Although it’s a backend, low-level language, it’s actually surprisingly easy to learn due to its simpler syntax when compared to other similar languages. In fact, it offers similar functionality to C++ but with an easier learning curve.
Not only that, but it also has fairly high job demand (31,981 jobs available) and the 7th highest average salary of any language in our research. ($120,000+).
C# (pronounced c-sharp) is a general-purpose language developed by Microsoft as part of its .NET framework, and is known for its large volume of frameworks and libraries.
C# is the backbone of Microsoft applications and also a go-to for game development - especially with the Unity Game Engine.
(Unity is one of the most popular game design platforms and is preferred by game devs who want to make an immersive gaming experience).
If you're interested in game development then your top two choices will likely be C# or C++ (which we'll cover next) because these are the underlying languages used in the two biggest and most important game engines... Unity (C#) and Unreal Engine (C++).
C# is also widely used in Enterprise Software, VR, Desktop apps, and Mobile apps.
Although it's one of the more difficult languages to learn on this list due to its complexity, C# is derived from other C languages, so if you know them then you’ll have a head start.
We like to think of C# as a language that kind of grows with you as a developer. It’s easy enough to begin with and then continues to offer you more to explore as your skills evolve.
C# is another programming language that's been around for a long time and has a lot of job opportunities (34,366 at time of writing), so it's definitely worth considering.
Still not sure? Here are a bunch more reasons why you should learn C#.
Ruby is another fairly easy to learn and beginner friendly language, and is used by companies like Twitter, Hulu, Groupon, Airbnb, and GitHub.
This gentle learning curve is all thanks to its easy to read syntax, simple vocabulary and access to multiple libraries.
Ruby is very commonly used with the framework Ruby on Rails which allows you to build web apps faster than most other languages/frameworks out there. It was a very popular way to build web applications in the early 2000s when the dawn of the social media came (i.e. Twitter) because it was so easy to get up and running.
An added bonus is that the Ruby community is incredibly friendly, wanting to emulate its creator, Yukihiro Matsumoto.
It’s died off slightly in terms of developer usage recently, which is possibly why the average salary for new positions is the highest among all languages on this list at $134,186 per year. Perhaps there’s just not enough people to meet the demand.
A moderately difficult language to learn, Kotlin is a cross-platform language built for app design, and is Google's preferred language for android apps.
Used by companies such as Uber, Amazon, Trello and Pinterest, Kotlin interoperates with Java and supports other functional programming languages.
In a survey of language popularity by StackOverflow, Kotlin was loved by 60.77% of users, and is often touted as the next generation for app design.
Although there are less jobs on the market for Kotlin, it does pay very well, and there is definite opportunity here to learn and get hired - especially if you want to move into mobile app development.
I'm sure that many of you are wondering how PHP is on a list of best programming languages to learn. We're pretty sure Andrei is going to hate it too (he's a big Node.js > PHP guy).
But we're trying to be impartial here. The fact is that it meets 3 of the 5 criteria on our list (possibly 4 out of 5), while also being in the top 20 on Tiobe's language index.
A main reason why PHP is so prevalent is because it's been around for so long (it was created over 30 years ago back in 1994), but it's not even the oldest language on this list.
In fact, SQL (1974), C++ (1983), and Python (1989) are all older.
But if people don't love using it and everyone hates on it, why is it still so prevalent?
Love it or hate it, it’s still one of the most widely used server-side scripting languages for Web Development, powering popular content management systems (CMS) like WordPress, Drupal, and Joomla, as well as many other websites and web applications.
This widespread adoption means there are ample opportunities to learn from existing codebases and examples, and it has a huge ecosystem.
In terms of difficulty to learn, PHP was designed to be easy to learn and use, especially for beginners.
Its syntax is similar to C and Perl, which makes it accessible for those familiar with these languages. It also integrates seamlessly with HTML, allowing developers to embed PHP code directly within HTML files.
Although PHP has been declining in popularity over the last 10 years, and a lot of people prefer to use JavaScript and other options, the fact remains that PHP is still in demand and pays fairly well.
With over 18,961 open job postings in the US alone, and an average salary for those openings of $102,005, PHP is still a legit option to learn - beating out flashier new tech in both earnings and opportunities, which is kind of crazy.
It'll likely continue to slowly fade away but it's quite stubborn!
Our advice is that if you're new to programming and tech, PHP is definitely not where you want to start. It's not great for a long-term career outlook.
However, there are some scenarios where it makes sense to learn PHP and it's hard to argue with the salary number and jobs available data.
#1) Apparently 43.2% of all websites are built on wordpress (that's almost half the web 🤯).
That's a lot of websites that might be looking for people that can help make changes to their code, add new fixtures, fix bugs, etc.
The thing is, a majority of these sites aren't run by the type of companies where you're going to learn a lot and grow your career. Especially since it's rarely the most interesting work so it doesn't tend to be where the best engineers are working.
However, if you just want to work as a freelance developer and have a pretty massive pool of potential clients, it's definitely worth learning.
#2) If you work for a company that's been around for a while, there's a good chance it uses PHP in its legacy codebase.
If that's the case and you're just learning it because you have to and maybe you're even getting paid to learn it, then we can't argue with that.
3) There are also companies out there that simply don't want to incur the cost to transition their codebase so they're willing to pay higher salaries to people willing to help maintain and work on their PHP codebase.
Since most people don't enjoy using it, these companies have to pay more to get developers to be willing to work for them.
So if you're just looking to maximize your pay in the short-term and aren't worried about learning potential or long-term career growth, then go for it!
Still not sure which to pick and need some advice? If that's true, just pick JavaScript or Python already 😬.
Alright fine... here are a few common scenarios we see with our top recommendation:
Now stop procrastinating and go start learning!