So you want to teach yourself how to code? That’s great! When you’re just starting out, one of the biggest questions on your mind is probably this: “What programming language should I learn?”
And when you start doing research on the most popular programming languages, things just get more difficult.
With dozens of options to choose from and heaps of contradicting opinions within the community, how can you know which programming language to learn first?
Luckily, you can make a good choice by following a few helpful tips. In this post, I’ll share with you a handful of practical steps for which programming language to learn.
Let’s get started!
Here are a few related posts you might want to read:
- 8 Things You Should Know Before Learning Coding
- The Best Websites for Learning Programming in 2019 (And Beyond)
- Free Coding Guide for Beginners: What Is Coding?
Please note: This post contains affiliate links to products I use and recommend. If you choose to purchase using these links, I may receive a small commission for referring you. But please, only buy products you believe will help you achieve your goals faster. Thank you for your support!
How to know which programming language to learn?
Before we dive in, let’s get a few points straight here.
I know everyone has their own opinion on what programming language is the best and which ones you should avoid at all cost.
But keep in mind that you’re free to choose whatever language you find intriguing and fun to work with. You don’t need to go for the most popular or widespread language out there.
Thus, even though we will look at a few factors you can consider while choosing a language to learn, you won’t find a straightforward answer to your questions in this post.
This article is here to help you get a better overview of your options when you’re thinking about which programming language to learn. Use it to find ideas that can help you choose your first programming language.
And even though it might feel like a big thing, know this: If you want to teach yourself how to code, the programming language itself isn’t that important.
What matters more is that you’re focused on why you want to learn programming in the first place. That’s going to help you achieve your long-term goals and land that first developer job you’re dreaming of.
Thus, here are four important points you should keep in mind:
#1: I’m not saying that some languages are better than others
It’s just a matter of what your long-term goals are.
Each programming language is simply a tool to solve problems in a specific field.
So, when you know what you want to build and create with code, you can narrow down your choices to just a few options.
Thus, don’t be scared away by the number of choices you have. When you’re done with this post, you should know which ones make the most sense for you to learn first.
And even if you don’t know any of these languages yet, don’t worry. You’ll soon start feeling more familiar with them. Bookmark or pin this article and come back anytime for a review if you need a refresher.
#2: Choose a programming language that’s fun to work with
Because at the end of the day, you can learn any language you want and get a job in the future. The demand for skilled developers is increasing around the world and everyone can have a slice of that cake.
But the truth is: you’ll be working with the language a lot. If it’s something you don’t genuinely enjoy, it’s difficult to stay motivated in the long run.
Not only is it hard to stay focused while you’re still learning, but you’ll also do a poorer job as a developer in the future.
After all, it’s difficult to be creative and show initiative with a tool that’s not fun to work with, trust me. (I was banging my head against the wall with my coding lessons in the beginning. Until I found Python, which was so much fun to work with – thanks to this book.)
#3: Learn the basics of more than just one programming language
When you’re just starting out, try at least a couple to get a first impression of them. See which one you like working with the most and start from there.
The best way to get a hang of the basics is to use a free coding website like Codecademy, for example. Before you invest in a paid course, try a few languages and focus on the one that feels fun to work with.
In the future, you are likely to learn at least two programming languages anyways. And when you start learning your second one, you’ll see progress much faster than with the first one.
Keep this in mind when things get more difficult and you start feeling like coding isn’t your thing after all.
Instead of giving up altogether, try a different language. They all have their own flavor so another language might be a better fit for you than your first choice.
#4: When you’ve chosen your first programming language, learn it well
That’s the only way to gain enough confidence to start applying for developer jobs or working for clients as a freelance developer.
And when you decide which programming language to learn first, make sure you practice a lot.
Take a step back from your online course or book and apply what you learned without help from your instructor.
Just start small and write simple programs that focus on solving one specific issue. Also, try to build them just by using your notes from your online course.
(You are taking notes, right?)
Build meaningful projects that you can use in real life. Create websites or small programs that help you save time at work, for example.
As you learn more, you’ll feel more confident working with the language you’ve chosen. Step by step, you can start managing and building more complex projects to include in your portfolio.
Here’s a helpful article to help you learn to code faster and more efficiently.
What is the best programming language to learn?
With so many options to choose from, how can you know which programming language to learn? What programming language should I learn first?
I know this question can feel overwhelming and even a bit scary if you’re completely new to coding.
But don’t worry, we’ll work through it step by step to help you decide which programming language to learn.
Now, the sad thing is:
The more research you do online, the more confused you start feeling.
You can spend countless hours on discussion forums reading what developers have to say. More often than not, everyone seems to have a strong opinion about the best programming language to learn first.
However, there’s no such thing as “the best programming language”. They’re all just tools for building something useful with code.
True, sometimes you only have one or two languages to choose from if you want to build something very specific.
For example, if your goal is to become an iOS developer and build apps for Apple devices, you need to learn two languages: Swift and Objective-C.
On the other hand, if you want to become a Web Developer you have more options to choose from.
Which programming language should you learn?
To get a more objective view on which programming language to learn, we’ll go through five helpful factors you can consider:
- Personal goals – What do you want to build with code?
- Popularity – Is it in demand? Can you find learning resources, help, and jobs?
- Trends and future outlook – Can you find work for years to come? Is the community growing?
- Ease of learning – Is the language easy to learn? Will you have fun and enjoy working with it?
- Salary prospects – Can you make money coding with a certain language?
Let’s look at each of these in more detail.
Factor 1: What are your goals?
The most important point to figure out is your long-term goal.
After all, if you want to learn how to code, you’ll be putting a lot of work into it.
And the naked truth is: It’s not going to be easy. You need a solid goal and plan to stay focused and motivated.
Therefore, take a few moments to answer these questions:
- Why do you want to learn tech skills?
- How is coding going to help you achieve that?
- What do you want to build with code in the future?
- Which industry or field do you want to work in?
If you’re totally new to coding and web development, don’t worry. You can choose from a bunch of different focus areas, but you don’t have to be 100% sure about it yet.
When you start learning how to code, you should try a few different languages anyway. It’s the best way to get a first impression of more than just one tool.
The most important thing is that you find one that you actually like working with. There’s no point learning a programming language with a high salary potential unless you enjoy writing programs with it.
Here are just a few areas you could specialize in:
Front-end web development
Front-end developers create the visible parts of web-based projects. That is, everything the user can interact with: layouts, colors, fonts, interactive elements etc.
As a front-end developer, you are responsible for creating a user-friendly interface for a given website or web application.
Also, you’d be working with topics like graphic design, typography, color theory, and user experience (UX) design.
Back-end web development
Back-end developers (or server-side developers) take care of everything that’s happening in the background. They create features that allow the user to interact with data stored on the server.
For example, when you log into a social network, the username and password you type in are sent to a server. If they match to the data you used when creating your profile, you can access your profile and scroll through your feed.
Back-end web developers build functionalities allowing all that data related to your profile to be displayed to you only, not anyone else logging in.
Here’s a short overview of where some of the most popular and best programming languages in back-end development are used:
- PHP – Small businesses and freelancing thanks to the popularity of Content Management Systems like WordPress
- Python – Startups
- Ruby (and Rails) – Startups
- Java – Used by 90% of the Fortune 500 companies
- C# – Used for the ASP.NET framework for Microsoft
Recommended: What Does a Web Developer Do Exactly?
If you want to create your own mobile app for Android or iOS, you can choose a programming language suitable for the platform of your choice.
For iOS development, you should learn Swift and Objective-C, while Android developers use Java.
Thus, if you want to work for a mobile app business as a full-time developer, choose your language accordingly.
- Swift and Objective-C (for iOS)
- Java (for Android)
- C# (for Windows)
Data analysis, Machine Learning, Artificial Intelligence
Data analysis, machine learning and artificial intelligence (AI) are some of the most exciting fields looking into the future.
They are just starting to take off globally with solid future prospects. That being said, skills in data analysis can become more profitable than we expect.
The best part: You can find a job in pretty much any industry, too. The possibilities are seemingly endless and you can choose your industry from the ones you like the most.
The bottom line is: Whatever area you’re interested in, make sure you can find work in your area.
Go online and browse through job openings at a handful of interesting, potential employers. See what technologies and tools they list as required skills.
If you can’t find anything online, don’t hesitate to contact them directly with your question. That’s what I did back in the day and I got a friendly response from every company I contacted. Most of them even wished me good luck and said they were looking forward to my application.
Factor 2: What are the most popular programming languages?
If you’re thinking about what programming language should I learn first, you should figure out what the most popular programming languages are.
And by this I don’t mean that you should learn a certain language just because it’s popular at the moment.
The whole point with learning popular languages is that they have a couple of big advantages:
First, when things don’t go the way you plan, you’ll find help more easily.
Popular programming languages are therefore relatively easy and quick to troubleshoot.
If there’s a big global community of developers working with a language, you can type your question into Google and browse through dozens of discussion forums for an answer.
Second, you’ll have better employment opportunities.
After all, if heaps of professional developers are using certain languages at work, there must be demand in the job market for them, too.
That being said, the best way to figure out what are the most popular programming languages is to look at what developers are using.
Remember this about studies on popular programming languages
Before we dive into the studies and figures about the top 10 programming languages, there’s one more thing worth mentioning:
Most of the time, these studies fail to represent how things work in real life. And I don’t mean to be overly critical about the studies here, don’t get me wrong.
It’s just that the data is aggregated for all geographical areas and it varies a lot from year to year, depending on the respondents at that time.
Therefore, it’s difficult to draw any objective or solid conclusions from them. Finding a straightforward answer to “What programming language should I learn” is very hard. Just something to keep in mind.
Furthermore, the studies often include other tools than just programming languages, tool. For example, HTML, CSS, and SQL are languages you could (and should) learn, but you won’t get a job knowing just one of them. They are tools you should know how to use as part of your job.
Nevertheless, these studies often indicate what’s happening in the market. And it’s often a good idea to use them to get a rough idea about current trends.
Top 10 programming languages to learn
Here’s an overview of which programming, scripting and markup languages the 47,184 respondents to Stack Overflow’s 2020 survey were using:
Similarly, SQL is a database management language you must learn if you want to become a Back-End Web Developer. You’ll use SQL to store and manage data from users of your app or website.
As for the most popular programming languages on the list, we see familiar faces like:
These are all powerful and popular programming languages used for different purposes as we saw above when we looked at the different areas you can specialize in with coding.
Another common source for programming language popularity is the TIOBE Index. It ranks programming languages based on worldwide data from developers, courses and search engines.
Here are the top 20 programming languages in November 2020 according to the TIOBE Index (updated monthly):
Again, we see similar results in the top 10 programming languages:
- Visual Basic
All in all, we tend to see much of the same programming languages listed in these surveys. They’re a good indication of what developers are using right now.
Next, let’s look at how their popularity has developed over time:
Factor 3: What are the trends and future outlook like?
The job market for developers is changing all the time. New tools keep appearing and they can quickly gain momentum in the job market.
But how can we predict the future?
Well, we can’t. But a good alternative is to look at what’s happened in the past.
In short: if a specific programming language has been losing popularity for years in a row, you might want to think twice before putting all your eggs in that basket.
Also, if a language has gained in popularity very quickly, that’s not necessarily a sign of solid long-term popularity. Among other things, it depends on where it’s becoming popular and what it’s being used for.
The most popular developer specializations
Instead of focusing on the individual programming languages only, let’s look at which specializations are popular in the job market.
In other words:
What types of developers are currently making a living with coding?
Let’s go back to the 2020 survey from Stack Overflow.
When we look at the roles of the developers who responded, most of them said they’re working as web developers:
Out of 49,370 responses:
- 55% were back-end developers
- 55% full-stack developers, and
- 37% worked with front-end development
In short: web development is the single biggest area for the respondents of the survey, followed by mobile development (19%).
Even though statistics can be distorted and trends change as time goes by, it’s safe to assume that web and mobile skills will remain in demand for some time.
Programming language trends
Ok, so we know the current stand of things in the developer job market now.
But how did we get here?
How did some specializations and programming languages gain (or lose) in popularity?
To get an idea of which programming languages are moving up and down in popularity, let’s look at the trends from TIOBE:
So it looks like Python and C++ show the biggest growth in the past year.
But when we look at the long-term trend, C++ seems to be losing in popularity slowly but surely. Whether the recent positive trend is a sign of a strong revival or if the others are taking over – it’s difficult to say.
Overall, the TIOBE Index gives us a good idea of what is happening in the world of tech according to developers and online resources.
But what about the people who want to learn how to code?
Yep, I’m talking about you and me here!
Let’s find out which programming languages are the most popular in terms of search engine queries:
Programming language popularity in search engine queries
What programming languages are people interested in learning?
In general, whenever someone wants to learn new skills, they go to Google and type in something like
“learn ________ “
The more people are searching for a certain language, the bigger the community around it grows. That means you’ll also find more learning resources to get started. Thus, it becomes easier to find help and support online while you’re learning.
Let’s compare the top 10 programming languages from earlier according to their search volumes. Here’s a figure with their yearly search volumes in 2016, 2017 and 2018:
The first thing we see is that Google users are clearly becoming more interested in learning Python.
Not only is it the fastest growing programming language in this bunch, but also by far the most popular one in absolute numbers.
The same trend can be seen on Google Trends when we compare the top five programming languages from the figure above:
The scale ranks the languages according to their popularity in Google search queries worldwide during the past five years. The peak value of 100 represents the highest overall point for all five queries.
Again, we see that Python has slowly grown to be the most popular choice and clear winner on this scale.
On the other hand, we see a decrease in relative search popularity for Java, C, and PHP.
So, summing it all up based on these figures:
Python is not only a popular programming language in the developer community as we saw in the Stack Overflow 2018 Survey. It’s also becoming more popular among people around the world who are interested in learning a programming language in general.
Factor 4: Is it easy to learn and work with?
So far, we’ve learned what programming languages are the most popular and in-demand.
But when it comes to actually learning one, it’s a whole different story.
Because here’s the deal:
Learning how to code is difficult enough as it is. There’s no need to make things more complicated than necessary.
I know you want to learn how to code fast without wasting your valuable time or money on things that aren’t helping you achieve your long-term goals.
That said, when you’re thinking about which programming language should I learn, don’t choose one that’s going to slow you down.
Let’s look at three important points to consider if you want to save heaps of time and choose a relatively easy programming language to learn:
1: Choose a high-level programming language
When it comes to choosing a beginner-friendly programming language, you should go for a high-level language in general.
They’re the ones that are usually relatively easy to learn because they read a lot like English. This resemblance to a human language makes them easier to write and maintain.
Some of the most popular high-level programming languages are:
2: Check the community size and popularity
When it comes to finding an easy programming language to learn, you should – again – consider its popularity.
Because the more developers are using it, the more answers you’ll find online. And the truth is: you will have a lot of questions along the way.
Therefore, it only makes sense to choose a programming language that’s easy to troubleshoot. If you have to spend hours online trying to find a solution to a coding problem, it’s a waste of your time. You should be using that time practicing and building your own programs instead.
3: Find out the availability of resources for learning
Finally, you want to choose a programming language that has plenty of resources available for learning.
I mean, if you can’t find well-constructed and beginner-friendly resources for learning, why bother in the first place?
Luckily, you can find helpful tutorials and online courses for all of the most popular programming languages nowadays. And yes, the more people are interested in learning a certain language the more resources will be produced.
Factor 5: How are the salary expectations?
Now you know a bit about the most popular programming languages and how easy they are to learn.
However, not all of the most popular languages have identical job markets and prospects.
Therefore, if you’re not learning how to code just for the fun of it, this should be an interesting point to consider.
And the truth is: skilled developers are some of the most in-demand and highest-paid employees out there.
Here’s an overview of the average developer salaries for the most popular programming languages according to the data based on job ads on Indeed.com:
Based on this data, looks like Ruby, Python, and Swift (for iOS development) could grow your paycheck the most. If your choice is purely based on average salaries, you might reconsider learning PHP, C#, or C.
However, you should keep in mind that the average salary itself isn’t the perfect indicator of how things really are.
The values are based on a number of factors like:
- Supply and demand
- Level of developer experience
- Type of business (startups vs. Fortune 500) etc.
But more importantly, the salary expectation for a given programming language depends on where you live.
That being said, I’d suggest you do some research about job opportunities in the area you’d like to work in.
Find a few interesting employers and see if they have job openings available. Research the skills they’re looking for and check their salary ranges.
But the bottom line is:
Even though a nice paycheck makes life easier, what matters more is that you enjoy working with the language you choose.
In fact, that’s the best way to guarantee that you’ll stay focused. That’s going to help you learn how to code faster, becoming confident and skilled enough to get that first developer job you want!
Final thoughts: What programming language should I learn?
The points discussed above should help you answer “What programming language should I learn?”.
What do you think? Did you find a few helpful points? Drop me a line in the comments below!
Here’s a summary of the points you can consider to decide which programming language to learn first:
- Know your “why” and set yourself a long-term goal
- Check the popularity
- Research past trends and future outlook
- Choose a beginner-friendly language
- Find out about salary prospects
The most important thing to keep in mind is that you should choose a programming language that you genuinely enjoy working with.
You should have fun while you’re learning and building your first programs.
Therefore, use the tips in this article as a general guideline for finding out more about your options.
If you love a language that’s not in the top 5, don’t worry about it. Just make sure you can create something useful with it and find out if there’s demand for it in the area you want to work in.
I know this topic is somewhat sensitive in the tech community and people have strong opinions about the best programming languages to learn. The more discussions you read online, the more confused you feel.
However, don’t spend too much time with this question when you’re just starting out with coding.
It’s so easy to overthink how to make the best decision – but it can be easier than you think.
Here’s what you should do:
Start by figuring out why you want to learn how to code in the first place.
Then, set yourself a long-term goal for what you want to create and achieve with coding.
By then, you should already have narrowed down your choices to 2-3 popular programming languages. If you can’t decide which one to learn first, learn the basics of them all and pick the one you like the most.
To help you get started with setting your goals, head over to my post on how to start learning to code the right way from absolute scratch.
When you know which programming language to learn first, check out these websites to start learning for free.
Here are a few related articles you might want to read:
- 10 Reasons Why You Should Start an Online Coding Course
- 13 Easy Tips for Finishing Every Coding Course You Start
- Udemy Review: Can You Learn How to Code on Udemy?
If you liked this post about what programming language should I learn first, just drop me a line in the comments section!
P.S. If you found this article helpful, please share it with others so that they can find it, too! Thanks!
I’ll see you in the next post! Happy coding!