Best Programming Languages To Learn In 2024

ZTM Instructor Team
ZTM Instructor Team
hero image

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:

  1. Biggest job demand. Everybody's gotta eat right? Most people don't have the time to learn a language just for fun. So we made sure each language selected had at least 1,000 jobs currently available
  2. Average USD salary of current job postings. Will you make good money if you learn this language? Well yes, because we made sure that languages were only included on this list if they had an average salary over $100,000
  3. Learning difficulty. How easy is it to learn? Time is money!
  4. Developer opinion. Do other developers enjoy using the language? It's important to enjoy what you're doing
  5. Future proofing. How worth your time is it to learn it? How relevant will it be in 5-10 years? What types of projects can be built with the language and are these the types of projects that will last?

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.

The Best Programming Languages To Learn In 2024

🚨 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.

  1. Python 🏆
  2. SQL (we were actually a bit surprised by this one but trust the process)
  3. TypeScript
  4. Rust
  5. JavaScript
  6. C++
  7. Java
  8. Golang
  9. C#
  10. Ruby
  11. Kotlin
  12. PHP (What!? Why is PHP on this list? Well, you'll see...)

The winner for each of the 5 criteria:

  • Criteria #1 (Total current job opportunities): Python with 84,500 open jobs in the US at time of writing
  • Criteria #2 (Highest average USD salary): Ruby at $134,186
  • Criteria #3 (Learning difficulty): SQL ranks the easiest to learn
  • Criteria #4 (Developers love using it): Rust with 84.66% of developers who currently use it, wanting to continue to use it
  • Criteria #5 (Future-proof): Python (especially with the Machine Learning and AI boom that's happening)

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.

combined rankings

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.

Here are our language winners for some of the most in-demand careers:

  • Best for Web Development: JavaScript (this was a tough choice since TypeScript and Rust actually had higher scores)
  • Best for Machine Learning & AI (+ all things Data): Python + take a Machine Learning Bootcamp
  • Best for Game Development: C++ (if you want to work with Unreal Engine) or C# (which will give you a great foundation for using Unity)
  • Best for VR / AR: C++ or C# win again here
  • Best for Mobile App Development: Java, Kotlin (for android), or JavaScript + React Native
  • Best for Desktop Applications: Java or C++
  • Best for Systems Programming: Rust or Go (but we'd pick Rust... here's 5 reasons why)

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.

The Winners For Each Of Our 5 Selection Criteria

Criteria 1: Job demand

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.

Scoring system

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.

Which language had the most open jobs available?

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.

Job demand

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.

Criteria 2: Average salary (USD)

We only included programming languages with an average salary of at least $100,000 (while still having many jobs available).

2024 PROGRAMMING LANGUAGE SALARY BREAKDOWN

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.

So which languages are paying the highest on average?

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.

  1. Python: 84,500 open jobs + Average Salary: $121,932
  2. SQL: 64,337 open jobs + Average Salary: $109,407
  3. Java: 54,808 open jobs + Average Salary: $117,931

Scoring system

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.

Criteria 3: Learning difficulty

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.

ztm community 2024

For this criteria, we used a tiered ranking system:

  • Simple
  • Easy
  • Easy to Moderate
  • Moderate
  • Moderate to Hard

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.

The results

  • Simple to learn: SQL
  • Easy to learn: Python, JavaScript, Ruby, PHP
  • Easy to moderate to learn: Typescript, Rust, Golang
  • Moderate to learn: Java, Kotlin, C#
  • Moderate to hard to learn: C++

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:

  • High level languages (ex: Python and JavaScript) tend to get the easy to moderate difficulty ratings
  • While low level languages (ex: C++) are generally deemed more difficult

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.

Scoring system

Because this was a tiered system and not a definitive rank, we used a fibonacci series to rank each tier and assign points.

  • Simple (8 points)
  • Easy (5 points)
  • Easy to Moderate (3 points)
  • Moderate (2 points)
  • Moderate to Hard (1 point)

With each tier (bar the simple one) containing multiple languages.

Criteria 4: Do developers love or hate this language?

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).

stackoverflow admired languages

What do all those lines mean?

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:

  • The blue dots on the left represents the percentage of developers surveyed who have never used the language, but want to. The further along that dot is, the more people want to try it or learn it
  • While the red dot is from people who currently use it. More importantly, it measures the percentage of people who are using it and want to continue using it next year (ie: they use it and enjoy it). The further the dot is to the right, the more people want to continue using it
  • Finally, the length of line between these 2 dots, represents how well the language lives up to the hype

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.

Most loved laguages

Over 84% of Developers using Rust, love it and want to keep working with it!

Scoring system

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.

Criteria 5: Future proof outlook

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:

  • How/where is the language being used?
  • Are large companies moving towards it?
  • How embedded into existing systems is it?
  • What's the 5-10 year outlook? Will this language still be widely used and therefore a valuable skill to have for years to come?
  • What kind of projects is this being used for?

#2) Then we looked at the Tiobe index.

tiobe index 2024

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).

githut 2024 results

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:

  • Most confident (best 5-10 year outlook)
  • Solid decision
  • Should be fine
  • Least confident

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:

  • The variety projects being built with each language
  • How embedded the languages are within existing systems, and
  • Enterprise adoption

Combining all this led to selectively the following 3 as our 'most confident' future-proofed languages to learn in 2024:

  1. Python - widely used across so many use cases and industries and is at the core of the big AI and ML wave happening
  2. JavaScript/TypeScript - JS is the heartbeat of the internet as we know it, TypeScript takes JS one step further. We put them together since they're so similar... which one is better is debatable
  3. Java - thanks to its integration into enterprise software development, Android app development, and backend systems

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:

Future-proof rankings for all languages featured

  • Most confident: Python, JavaScript, Java
  • Solid decision: TypeScript, C#, C++, Rust, Golang, SQL
  • Should be fine: Ruby, Kotlin
  • Least confident: PHP

We cover the reasons why in each of the language breakdowns below.

Scoring system

One final note on scoring, for this final section we used the tier system and fibonacci series again:

  • Most confident (5 points)
  • Solid decision (3 points)
  • Should be fine (2 points)
  • Least confident (1 point)

Deep Dive Into Each Of The 12 Languages

If you're interested in a specific language, you can click below to skip ahead:

  1. Python
  2. SQL
  3. TypeScript
  4. Rust
  5. JavaScript
  6. C++
  7. Java
  8. Golang
  9. C#
  10. Ruby
  11. Kotlin
  12. PHP

#1) Python - The best programming language to learn in 2024 👑

Python logo
  • Main Use Cases: Machine Learning, Artificial Intelligence, Web Development, Data Science, Desktop GUI’s, Business Applications, App Development, Desktop Apps, Microcontrollers, Websites, System Administration, DevOps, IOT devices, Scientific computing, Automations, Scripting and even Game Development!
  • Job Demand (Ranking - 1st): 84,500 job postings in the US alone
  • Average Salary (Ranking - 4th): $121,932
  • Learning Difficulty (Ranking - Joint 2nd): Easy to learn and use
  • Developer Opinion (Ranking - 3rd): 65.52% of developers surveyed love Python
  • Future-Proof Outlook (Ranking - Joint 1st): It's used in such a wide range of industries and the use-cases are continuing to grow (ex: AI)

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.

tiobe index for Python

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.

Career Opportunities

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.

Go from complete beginner to hired as a Python Developer here.

learn python

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)!

#2) SQL

SQL logo
  • Main Use Cases: Data Analysis, Database Management, Business Management, Sales Reports, Data Querying and Backend Development (in conjunction with other languages)
  • Job Demand (Ranking - 2nd): 64,377 job postings
  • Average Salary (Ranking - 10th): $109,407
  • Learning Difficulty (Ranking - 1st): Simple to learn and use
  • Developer Opinion (Ranking - 4th): 64.26% of developers surveyed love SQL
  • Future-proofed (Ranking - Joint 2nd): Has been around since the 1970's and is used for database management almost everywhere. You'll be hard pressed to not see a SQL skill requirement in a backend or data role. But there is some concern with recent LLM tools like ChatGPT which can easily be used to write SQL queries and they do a great job so we'll be keep a close eye here for the 2025 edition

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.

sql tiobe index

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).

Learn SQL + databases here.

learn sql

#3) TypeScript

Typescript logo
  • Main Use Cases: Web Apps, Mobile Apps, DevOps, IOT devices, Game Development, Desktop App Development, Server-Side Applications, and Websites. Basically anything that JavaScript can do, as well as Large-Scale Web Applications!
  • Job Demand (Ranking - 10th): 7,244 job postings
  • Average Salary (Ranking - 2nd): $129,348
  • Learning Difficulty (Ranking - Joint 3rd): Easy to Moderate. If you already know JavaScript, you can pick it up pretty quickly, but may have some slight issues with static typing
  • Developer Opinion (Ranking - 2nd): 71.7% of developers surveyed love Python
  • Future-Proof Outlook (Ranking - Joint 2nd): Developed and maintained by Microsoft, and used for large scale applications

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.

Learn TypeScript here.

learn typescript

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.

#4) Rust

Rust logo
  • Main Use Cases: Game Development, Web Development, VR, Operating Systems, Web3, Performance-critical systems, Low-level programming, and Embedded systems
  • Job Demand (Ranking - 7th): 22,402 job postings
  • Average Salary (Ranking - 9th): $109,905
  • Learning Difficulty (Ranking - Joint 3rd): Easy to Moderate
  • Developer Opinion (Ranking - 1st): 84.66% of developers surveyed love Rust
  • Future-proofed (Ranking - Joint 2nd): Backed by Mozilla, an active ecosystem, and offers performance comparable to C and C++ while providing higher-level abstractions and safety guarantees. Will continue to grow over time

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.

rust tiobe index

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.

Learn Rust here.

learn rust

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.

#5) JavaScript

JavaScript logo
  • Main Use Cases: Web Apps and PWA's, Browser Extensions, Mobile Apps, DevOps, IOT devices, Game Development, Desktop App Development, Server-Side Applications, Data Visualization, Web Sockets, and of course Websites!
  • Job Demand (Ranking - 5th): 41,462 job posting in the US alone
  • Average Salary (Ranking - 11th): $106,583
  • Learning Difficulty (Ranking - Joint 2nd): Easy to learn and use
  • Developer Opinion (Ranking - 8th): 57.83% of developers surveyed love JavaScript
  • Future-Proof Outlook (Ranking - Joint 1st): It's the backbone of Web Development and here to stay

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:

  • You can use it on the front-end to make a site look sleek and function smoothly
  • Or on the back-end to add in server side logic

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.

Career opportunities

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.

Go from complete beginner to Full-Stack JavaScript Developer here.

learn to be a fullstack web developer

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).

#6) C++

Cplusplus logo
  • Main Use Cases: Game Development, VR, Robotics, Software Development, Operating Systems, Advanced Computations, Mobile Development, System Programming, Embedded Systems, and Performance-critical applications
  • Job Demand (Ranking - 4th): 46,883 job postings
  • Average Salary (Ranking - 5th): $120,212
  • Learning Difficulty (Ranking - 5th): Moderate to hard
  • Developer Opinion (Ranking - 9th): 49.77% of developers surveyed love C++
  • Future-Proof Outlook (Ranking - Joint 2nd): Many critical systems, including operating systems, game engines, and embedded systems, rely on C++. Its deep integration into various domains contributes to its long-term relevance

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:

  • Programs in the aviation and fintech industries
  • Operating systems
  • Web browsers
  • Cloud computing
  • Video games (One of the 2 major games engines, Unreal Engine, uses it)
  • VR
  • Robotics
  • Desktop apps
cplusplus tiobe index

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.

Learn C++ here for free!

#7) Java

Java logo
  • Main Use Cases: Enterprise-level applications, Web apps, Android mobile apps, Large-scale systems, E-commerce, Fintech, Web apps, and Big Data
  • Job Demand (Ranking - 3rd): 54,808 job postings
  • Average Salary (Ranking - 8th): $117,931
  • Learning Difficulty (Ranking - Joint 4th): Moderate
  • Developer Opinion (Ranking - 11th): 44.1% of developers surveyed love Java
  • Future-Proof Outlook (Ranking - Joint 1st): Backed by Oracle, Java has been one of the most widely used programming languages for decades, and it continues to be a dominant force in the software development industry

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).

java tiobe index

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.

Go from complete beginner to hired as a Java Developer.

learn java

#8) Golang

Golang logo
  • Main Use Cases: Console utilities, GUI applications, System and Network programming, Web applications, Web servers, Microservices, and Cloud-native Applications
  • Job Demand (Ranking - 6th): 34,010 job postings
  • Average Salary (Ranking - 7th): $121,082
  • Learning Difficulty (Ranking - Joint 3rd): Easy to Moderate
  • Developer Opinion (Ranking - 6th): 62.45% of developers surveyed love Golang
  • Future-proofed (Ranking - Joint 2nd): Backed by Google and rapid adoption by enterprise companies

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.

golang tiobe index

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+).

Learn Golang (GO) here.

learn golang

#9) C# ("C Sharp")

CSharp logo
  • Main Use Cases: Enterprise Applications Development, Web Applications, Mobile Development, Game Development, VR, and Desktop apps
  • Job Demand (Ranking - 8th): There are over 34,010 C# dev jobs listed on ZipRecruiter right now
  • Average Salary (Ranking - 6th): $120,212
  • Learning Difficulty (Ranking - Joint 4th): Moderate
  • Developer Opinion (Ranking - 5th): 62.87% of developers surveyed love C#
  • Future-Proof Outlook (Ranking - Joint 2nd): Microsoft and .Net framework. Another that's here to stay

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.

csharp tiobe index

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.

Learn C# (and .NET) here or check out the first few lessons for free.

learn c sharp and .net

Still not sure? Here are a bunch more reasons why you should learn C#.

#10) Ruby

Ruby logo
  • Main Use Cases: Web Development, Web Servers, DevOps, Scripting, Automation, and Prototyping
  • Job Demand (Ranking - 11th): 7,074 job postings
  • Average Salary (Ranking - 1st): $134,186
  • Learning Difficulty (Ranking - Joint 2nd): Easy to learn and use
  • Developer Opinion (Ranking - 10th): 47.69% of developers surveyed love Ruby
  • Future-Proof Outlook (Ranking - Joint 3rd): It's on the decline and talked about less than it used to, but it does have an ecosystem of diehard fans

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 tiobe index

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.

#11) Kotlin

Kotlin logo
  • Main Use Cases: Android App Development, Server-side Development, and Multi-platform Applications
  • Job Demand (Ranking - 12th): 1,952 job postings in the US
  • Average Salary (Ranking - 3rd): $127,151
  • Learning Difficulty (Ranking - Joint 4th): Moderate
  • Developer Opinion (Ranking - 7th): 60.77% of developers surveyed love Kotlin
  • Future-Proof Outlook (Ranking - Joint 3rd): Google's language of choice for Android development and here to stay

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.

kotlin tiobe growth

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.

#12) PHP

PHP Logo
  • Main Use Cases: Web Development and Web Applications
  • Job Demand (Ranking - 9th): 18,360 job postings
  • Average Salary (Ranking - 12th): $102,005
  • Learning Difficulty (Ranking - Joint 2nd): Fairly easy to learn and use
  • Developer Opinion (Ranking - 12th): Only 41.83% of developers enjoy using PHP
  • Future-proofed (Ranking - 4th): It makes up around 40% of the entire internet! Add in the fact that people would rather pay more to developers to code in PHP rather than migrate, and it's still going strong

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.

php tiobe index

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.

Will it remain that way 5 years from now?

It'll likely continue to slowly fade away but it's quite stubborn!

php forever

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!

Just Tell Me What To Learn

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:

  • 1) Most optionality + most future-proof: Choose Python. There's a reason why it's the 'winner' this year. It's used across so many projects and industries, it pays higher than most, has the most open job options, is fairly easy to learn and use, and is one of the key languages in the current ML and AI boom
  • 2) Complete beginner: Pick Python or JavaScript. I won't go into the reasons why because we wrote an entire best programming language for beginners guide that you can read here
  • 3) Just want to get hired ASAP: For the short-term you might be able to get some entry-level roles quickly with SQL. But we'd still say to go with JavaScript. There's something magical about the immediate feedback loop of writing something in JavaScript and then seeing it live on the internet. You can learn enough to see that magic within the first couple weeks of learning HTML/CSS/Javascript and all the time as a Developer. And there are tons of jobs, good pay, and other frameworks you can learn later to specialize with

Now stop procrastinating and go start learning!

More from Zero To Mastery

Top 5 In-Demand Tech Jobs For 2024 (+ How To Land A Job In Each!) preview
Top 5 In-Demand Tech Jobs For 2024 (+ How To Land A Job In Each!)

Want to get hired in a tech job in 2024? Pick one of these 5 if you want: 1) High salary 2) Jobs available now 3) Can learn the skills as a complete beginner.

Will AI Replace Programmers? No! But Something Else Will preview
Will AI Replace Programmers? No! But Something Else Will

The better question is: "How do I NOT get replaced by AI?". I'll show you what could replace you and how you can thrive as a developer in this new AI era 🤖.

How To Use ChatGPT To 10x Your Coding preview
How To Use ChatGPT To 10x Your Coding

Are programmers going to be replaced by AI? 😰 Or can we use them to become 10x developers? In my experience, it's the latter. Let me show you how.