Are you looking for your first programming language to learn? Or maybe you're looking for the best language to learn to skill up and open up new job opportunities?
In this guide, we break down the 14 best programming languages to learn for 2022, based on 6 core criteria:
Alright so with that in mind, let’s look at how we decided on this criteria, along with the data points that we found.
For the development projects available for each language, we simply looked at what has been built before using these languages, and what’s being advertised now.
It’s not a definitive list of projects that you can build with each language, but at least this way you can get a rough idea of what you can build before you decide which languages to look at in more detail.
It would suck to learn a language to want to get into game design for example, and then find out that you don’t really build games with that language.
💡 Top Tip: If you have a dream job for a company, check what languages they have listed on their job postings, as you may be surprised what they ask for.
We wanted to learn how competitive each language was, and how much demand there is to hire devs who know that language.
To make sure we compare apples to apples, we used a single job advertisement location, ZipRecruiter, to get the total jobs listed for each of the 14 programming languages on their site.
Sure, this won’t give us a fully accurate representation as not every dev job is posted here, but because it’s such a large source we felt it gives a good approximation. And it won't lead to duplicate listings from multiple sources affecting the results.
Of the 14 programming languages that we looked at, there were 2,003,293 jobs available with Python being the most popular at 387,836 postings.
Isn't that absolutely incredible?!
This is one of the core reasons we recommend Python for beginners to learn first.
There’s huge job demand, it’s steadily rising in popularity and use cases, and it pays very well compared to other high demand languages such as Java or C++.
Python stands out even more when you realize that 66.7% of devs LOVE working with Python while 55.9% of devs would rather NOT work with Java.
Sticking with ZipRecruiter, we found the min, max and average salary for each of the 14 programming languages on our recommended list.
There were some outliers with huge max earning positions, possibly because these languages are in very high demand or usually taken on by more senior dev roles, but once we average it out, the highest salary programming languages were:
Bear in mind that each of these languages are moderately difficult to learn and quite competitive for jobs.
If you were to look at the best overlap of job demand, ease to learn, and average salary, then Python and Javascript would be great bets to learn if you don’t know these already or you’re looking for your first language to learn.
If you already know those or simply want to dive in the deep end, then Solidity would be a good future option to learn (Web3 is all the rage these days), or Golang which has 182,274 Job postings.
Why Solidity?
Well yes it’s the highest salary range right now but it's also extremely competitive with only 92 job postings on ZipRecruiter. The reality is that less than 0.5% of developers are using the language.
It's still very early days here so you're definitely making a bet on the future prospects by learning Solidity.
But that seems like a decent bet as the demand for it is so high that crypto company growth stalled while waiting for devs to learn this language.
Alternatively, if you're super interested in Web3, you could consider learning something like Rust which is used to power Solana, the leading competitor to Ethereum. However, it's also widely used outside of Web3 as well so it might give you the best of both worlds.
Language learning difficulty is based on the collective opinion of the many years of experience from our instructors and by asking other devs in our community.
High level languages tend to get the easy to moderate difficulty ratings, while low level languages are generally deemed more difficult, with a few exceptions.
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.
Fortunately, Stack Overflow ran a survey of ‘the most loved and hated programming languages’ based on developer responses.
Now of course, you need to take this data with a pinch of salt. These are still personal opinions.
Some people may be new to a language. They might be a new developers and just not like a language for some specific reason(s) unrelated to what's important to you.
Or maybe it actually does just suck 😆… there are a lot of responses after all!
People also have a tendency to bias towards "loving" the new shiny toy (i.e. new languages, frameworks, tools). Loving a tool doesn't necessarily mean it's the best one for the job.
Python somehow seems to be the exception to this rule.
So like we said, we treat this data with a pinch of salt and as a rough guide of how enjoyable it will be to work with a given language.
(We also share this rating for each language in the deep dive below so don’t worry about zooming in).
As for future proofing, we relied on a few things.
First we used our general industry knowledge and industry news (we do write 3 newsletters every month after all):
Then we looked at the Tiobe index.
This is a popularity tracking chart of programming languages based on their usage and volume of searches along with a few other things over time.
Finally, we looked at the pull requests for specific languages in GitHut 2.0 for 2021.
It’s not the most up-to-date information, but based on the number of requests rising or declining, we can get a rough approximation for the popularity of that language for last year, and use that to help see the coming trends.
Want to find the best programming language to learn in 2022?
Then keeping reading for a deep dive into each of the 14 languages that we recommend, along with their common projects, job demand, salary and more.
Projects: Machine learning, artificial intelligence, web development, data science, desktop GUI’s, business applications, app development, desktop apps, microcontrollers, web sites, system administration, dev ops, IOT devices, and even video games
Job Demand: 387,836 Job postings
Average Salary: $92,000-$150,000
Learning Difficulty: Easy to learn and use
Developer Opinion: 67.8% of developers surveyed love Python
Python is a fantastic starting point for beginner programmers.
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 get started, without having to worry about niggly details that you might have with other languages.
As well as being extremely accessible for beginners, 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 and much more.
What's even crazier is that Python has been around since 1991, and yet it continues to grow in popularity!
It’s used by major companies such as Google (for their search platform and Youtube) and Meta thanks to its ability to scale well.
It’s not just these companies though. A lot of businesses use Python for their front or backend stack, making it in high demand right now and in the future.
Even many non-developers, especially growth marketing, ops and finance teams are using python to write basic scripts to help automate tasks and make their lives easier.
Recap:
Projects: Web apps, mobile apps, dev ops, IOT devices, game development, desktop app development, websites, and web servers
Job Demand: 201,761 Job postings
Average Salary: $85,000-$149,000
Learning Difficulty: Easy
Developer Opinion: 61.51% of programmers love Javascript
JavaScript is another beginner friendly language, thanks to its readable syntax (i.e. it reads more like English than machine code).
JavaScript is commonly used to build frontend applications, as it’s the code that runs when almost all interactive elements that appear on a website. This is due to its interaction with both HTML and CSS.
And thanks to popular runtimes, frameworks and libraries such as Node.js, React, Angular, Vue.js, Next.js and others, JavaScript can also be used on back end server side applications making it a full-stack language that’s both incredibly versatile and popular.
This means that Javascript devs have the opportunity to work on many different types of projects while also increasing their salary range.
For Example:
There are currently 50,438 Javascript + Node.js developer roles on Ziprecruiter, with an average salary of $94,000-$154,000 USD.
A common misconception is that JavaScript isn't a serious language like some of the other languages later in this article, but that is because of a lack of understanding of the language and how to use it properly.
Unlike Python which has a very "Pythonic way" of writing code, JavaScript has less standardized good code guidelines which means that it is very easy to write bad code as a beginner.
It's a great language if you understand it well and know when to use what. You just need to make sure you learn how to use it correctly, especially if you then want to take it further and learn Node etc.
Benefits of Javascript:
Many of these reasons are actually why it is Andrei's top recommendation for beginners and what he teaches as part of his annual Learn to Code For Free & Get Hired in 5 Months Guide.
Projects: Mobile apps
Job Demand: 19,949 Job postings
Average Salary: $113,000-$158,000
Learning Difficulty: Moderate
Developer Opinion: 61.55% of developers love Kotlin
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 works well with Java and supports other functional programming languages.
In a survey of language popularity by Stackoverflow, Kotlin was loved by 62.9% of users, and is often touted as the next generation for app design.
(It doesn’t hurt that Kotlin can also perform the same functions as Java, but for far less code bloat).
Although there are less jobs on the market for Kotlin, it does pay well, and there is definite opportunity here to learn and get hired.
Projects: Mobile iOS apps
Job Demand: 44,553 Job postings
Average Salary: $92,000-$146,000
Learning Difficulty: Easy
Developer Opinion: 63.56% of developers love using Swift
Created by Apple in 2014 as an alternative to Objective-C, Swift is specifically designed to work with Apple’s Cocoa and Cocoa Touch frameworks to build all types of iOS apps. (Anything for the iPhone, iWatch, Apple TV or iPad).
Although it's an easy to learn language thanks to its natural ‘English sounding’ syntax, you should only really start learning this language if you want to get into iOS app development.
As a huge market leader, there is definite demand for this language, and plenty of job opportunities, although it is very niche.
Finally, Swift offers extremely well optimized code and very fast performance, which allows it to scale effectively, and still works with older languages such as Objective-C.
If your goal is to work with mobile apps but not be limited to them only, then you could also consider learning either:
The reason being is that if you’re skilled in these languages and frameworks, you could then build iOS or mobile apps with them as well as other projects, while only learning the one code base.
Some additional information to consider:
There are currently 21,893 React Native jobs listed on Ziprecruiter, with an average salary of $91,000-$152,000 USD.
(You can learn JavaScript and React here.)
Whereas there are only 247 Dart + Flutter jobs listed on Ziprecruiter, with an average salary of $70,000-$142,000 USD.
This is yet another reason why Javascript or Python would be a fantastic first language to learn.
Projects: Web development, web servers, dev ops
Job Demand: 180,434 Job postings
Average Salary: $90,000-$137,000
Learning Difficulty: Easy
Developer Opinion: 53.24% of Developers love Ruby
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.
Projects: E-commerce, finance, android apps, web apps, and big data
Job Demand: 267,230 Job postings
Average Salary: $85,000-$141,000
Learning Difficulty: Moderate
Developer Opinion: 47.15% of developers love Java
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 its semi complexity, it does mean that there are a lot of job opportunities for this language, with it being the 2nd highest at time of writing (267,230 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’s definitely trending down.
Used for a multitude of projects, it did take a hit recently in the android app development space when Google announced Kotlin as their preferred language of choice for mobile apps.
This doesn’t mean there’s no Java projects for you to work on, but if you aim to get into mobile app development you may want to look into Kotlin or JavaScript + React Native instead.
Both offer a higher avg salary than Java, but they’re also a more competitive job space with less listings. (Around 23,000 postings each compared to Java’s 300,000+).
Projects: Machine learning
Job Demand: 30,837 Job postings
Average Salary: $78,000-$143,000
Learning Difficulty: Easy
Developer Opinion: Only 21.61% of developers enjoy working with Matlab
A relatively easy language to learn for complex projects, Matlab is primarily used for statistical analysis, machine learning, deep learning, signal processing and more.
Good news?
It’s even more accessible when you take into account that it allows you to convert code from other languages such as Python and C++, so if you have a background in these languages, you can get up and running fairly fast.
Although it’s not a high demand language, it can offer high salary roles due to its niche expertise. That being said, ML is a growth market also, meaning future demand may increase further.
It has a feature rich library and high functionality, but it can be quite heavy on system demands.
Projects: Enterprise cross-applications development, web applications, mobile developer, game development, VR, desktop apps
Job Demand: 74,057 Job postings
Average Salary: $85,000-$143,000
Learning Difficulty: Moderate to Hard
Developer Opinion: 61.96% of developers love C#
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.
It’s widely used in enterprise software, game development, VR, desktop apps, mobile apps and more.
In fact, because of its connection with the Unity engine for game design, C# is probably your best language to learn if this is what you want to get into.
Although it's one of the more difficult languages to learn due to its complexity and low level design, C# is derived from other C languages, so if you know them then you’ll have a head start.
C# has been around for a long time and has a lot of job opportunities (30,000+ at time of writing), so it's definitely worth considering. Maybe not your first language to learn if you want to get up and running fast, but it can be something to pick up later perhaps.
Projects: Game development, VR, robotics, software development, operating systems, advanced computations, mobile developer and graphics compilers
Job Demand: 252,871 Job postings
Average Salary: $66,000-$148,000
Learning Difficulty: Moderate to Hard
Developer Opinion: 49.24% of developers love C++
C++ is an all purpose, low level scripting language that is pretty much the backbone for most Windows software.
An enhanced version of C, it’s fantastic at running and scaling resource heavy applications such as operating systems, web browsers, cloud computing, video games, VR, robotics and desktop apps thanks to its cross platform hardware support and versatility.
Built with a very similar syntax to Java, C and C#, this programming language isn’t the easiest to learn, but easy to pick up if you have experience with any of its variations.
Thanks to its complexity and popularity among enterprise companies, the job demand and salary for C++ is very competitive.
As for its community, there are multiple compiler options and libraries available.
Although we don’t recommend learning C++ first (unless you’re a glutton for punishment), it will give you a solid understanding of a lot of other ‘easier’ to learn languages.
Projects: Console utilities, GUI applications, system and network programming, audio/video editing and web applications
Job Demand: 182,274 Job postings
Average Salary: $111,000-$156,000
Learning Difficulty: Moderate
Developer Opinion: 62.74% of developers love working with Go
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 high job demand and the 3rd highest average salary of any language in our research.
Combine that with the fact that Golang is the 2nd most loved language to work on voted for by developers, this could be a great language to learn in 2022.
Projects: Data science, statistical computing, machine learning
Job Demand: 93,201 Job postings
Average Salary: $78,000-$277,000
Learning Difficulty: Easy to Moderate
Developer Opinion: 44.23% of developers like working with R
So this here was the outlier in our salary report, with 10% of the job roles for R offering $263,000-$287,000 per year, which was a $150,000+ difference to other job offers.
It could potentially be because R is heavily used in machine learning, statistical analysis, deep learning and data analysis and there are huge demands in these fields right now, but more likely it’s a question of experience and supply of skilled users.
R is a very niche language that a lot of people learn in university or after a few years of working with Data. This means that people that know R tend to have a lot of experience and are coming from a background of programming with Python or Matlab.
R is an open source, cross-platform language that can run easily on different operating systems.
Thanks to its extensive libraries and communities, and built in machine learning algorithms, it can be a very lucrative language to learn, especially if you’re interested in data science or looking for a more senior role.
Projects: Game development, web development, VR, operating systems, web3
Job Demand: 11,467 Job postings
Average Salary: $80,000-$134,000
Learning Difficulty: Easy to Moderate
Developer Opinion: 86.98% of developers LOVE working with Rust
Here it is, the #1 rated programming language that developers love to work with, and used by companies such as Dropbox.
Although a fairly new low level language, 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.
Although Rust is not 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 (11,467 postings), and the salary is fairly average, 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.
Projects: Web3 (dapps, decentralized finance, cryptocurrency, blockchain etc)
Job Demand: Only 92 Job postings (but we expect this to grow significantly)
Average Salary: $112,000-$166,000
Learning Difficulty: Moderate
Developer Opinion: This language wasn’t covered in the Stack Overflow report, possibly due to it’s small user base
Solidity is a high-level language that’s similar in design to Python or Javascript, and is used for creating smart contracts for the Ethereum blockchain platform, as well as a few of Ethereum’s competitors.
Unless you’ve been living under a rock, then you know that blockchain, cryptocurrency, and decentralized apps are HUGE right now, but shockingly, there’s not a huge amount of software developers out there with Solidity experience.
(Less than 1% on the Tiobe index, which is why we don’t have a graph for this language).
This means that although there are far less jobs available, the competition isn’t as high as it may first appear. Tie that in with the current salary offers for Solidity, plus the rise of Web3 in the future, and you’re looking at an incredibly lucrative and scalable language to learn this year.
In fact, work on blockchain stalled in 2021 due to a lack of devs with any experience of this language, and you’ll often hear stories of people with 6 months experience with the language getting Senior roles due to the fact that 6 months experience is still more than most people.
Solidity is probably not the best starting language to learn for a new coder unless your main goal is to get into Web3 exclusively, but even then, you might find it much easier to understand and work with if you get a grasp of Python or Javascript first.
This is mainly due to the nature of how fast new breaking changes are developed and also how to update old code. It’s not difficult but might not be something you have experienced before.
However, it's definitely a language you should look into.
Projects: Data analysis, database management, business management, sales reports
Job Demand: 234,591 Job postings
Average Salary: $77,000-$124,000
Learning Difficulty: Easy to learn
Developer Opinion: 61.83% of developers love working with SQL
SQL or ‘Sequel’ is not the sexiest programming language on this list, but it should definitely be on your radar if you’re interested in data science, especially due to its ease of use.
Primarily used as a tool to analyze data and find insights, it also helps with deep learning programs, allowing you to optimize and scrape large data sources.
It's not just for data science either. 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 is in demand, with a huge section of job postings (234,591) and a fairly good average salary to back it up.
So there you have it, the 14 best programming languages for 2022. Hopefully this helps you decide which programming language (or languages... look at you go!) to learn this year.
If you’re not sure which to pick and need some advice, then here’s a few what if
scenarios for you:
Was this helpful? Did we miss something? What do you think? Come tell us on Twitter!
By the way, if you want to learn both technical and non-technical skills that you need to have a successful career in the tech industry, then come join us as a member of Zero To Mastery.