Software development continues to be a great career path, even with the recent layoffs in the tech industry. According to the US Bureau of Labor Statistics (BLS), aspiring coders can expect $100k+ salaries and 25% headcount growth in the software developer job market over the next decade, a five-fold outperformance of the US labor market as a whole.
Of course, even if the booming software dev job market has the staying power to weather a short-term hiring slow-down, you want to maximize your chances of breaking into the field and starting down a lucrative new career path. This means learning the programming languages that will put your resume on the top of the pile.
When it comes to core skills for coders, the priority has to be programming languages. Without the ability to write in a programming language (or several!), you’re really not a coder, after all.
But when you’re just getting started, it can be baffling to distinguish between all the languages out there and plan your approach. What’s the best programming language to learn in 2023? The question is certainly up for debate, but below we’ll pull on data from software developers, employers, and education providers to provide some recommendations for where to get started.
What is a programming language?
A programming language is a notation system designed to communicate instructions to a computer or computing system. It consists of a set of rules and syntax that computer programmers can follow to write computer programs and direct computers to take particular actions or solve problems. These programs form the basis for software applications, websites, mobile apps, game development, machine learning & data science, and much more.
Why are there different programming languages?
There are a dizzying amount of programming languages out there: Stack Overflow suggests at least 42 programming languages are actively used by developers. Why so many? Ultimately, it comes down to the different kinds of tasks programmers need to accomplish and whether different programs need to interact within the same computer environment.
Some programming languages are general-purpose (Python, Java, C), while domain-specific programming languages (SQL, R, HTML) are used by programmers for specific purposes, like querying databases (SQL), performing statistical analysis (R), or writing web pages (HTML).
Programmers choose the appropriate language based on the requirements of the project, the available tools and libraries, and their personal preferences and expertise.
How do you learn a programming language?
You can approach learning a programming language in several different ways depending on your background, resources, and learning style. These include:
Online Courses: Many websites offer free or paid courses designed to help aspiring coders learn programming languages. Popular platforms include Codecademy, Coursera, Udemy, and Khan Academy. For our picks of the best online coding courses, see our guide.
Coding Bootcamps: Coding bootcamps like Coding Dojo offer intensive, immersive programs that focus on helping aspiring software engineers, web developers, and software developers upskill and place graduates in an entry-level position in the tech industry. A coding bootcamp leverages project-based learning, mentorship, and career services to help students optimize their chances of landing a role. Check out our guides to part-time coding bootcamps and online coding bootcamps to learn more.
YouTube Channels: Increasingly popular these days, YouTube channels are a great, free resource to learn programming languages if you’re a visual learner. Viewers can watch demonstrations and gain insights before trying things out for themselves.
Coding Exercises: After you’ve learned the basics, coding exercises and challenges can reinforce your understanding of a programming language. Websites like LeetCode, HackerRank, and Project Euler provide a wide range of coding problems to solve.
Books: Programming books provide in-depth explanations, examples, and exercises to help you learn specific languages. According to StackOverflow’s 2022 Developer Survey, learning coding from books was the preferred way for respondents older than 45.
Attending Workshops and Meetups: Workshops, college coding clubs, and programming meetups can provide opportunities to learn from experts, collaborate with others, and expand your network. These events often offer presentations, coding exercises, and discussions on specific programming languages.
Independent Projects: Self-directed practical application is a great way to perfect your skills with a programming language. What’s more, creating a portfolio of these independent projects can be a crucial asset when applying to coding jobs.
Collaborating and Contributing to Open Source: Participating in open-source projects allows you to connect with experienced developers, learn from their code, and contribute to real-world software. GitHub is a popular platform for finding open-source projects to contribute to, and showing your contributions through your GitHub account can also help in recruitment.
What goes into determining the best programming language to learn?
There are lots of websites purporting to have identified the “best” programming language out there, but the reality isn’t so simple: “best for whom?,” you want to ask. What’s best for an advanced coder, after all, likely won’t be the easy programming language that would be best for a complete beginner. Likewise, the most popular programming languages for web development won’t be the best programming language if you’re looking to develop a video game.
If you’re looking to determine the best programming language to learn to break into a coding career, we’d recommend calibrating along two different axes: popularity vs. demand and learners vs. professionals.
Popularity vs. Demand
It’s no secret that coders are an opinionated bunch, and since they gather so often in online communities, there’s always a chance of the hive-mind taking over and certain programming languages becoming more popular than others. But as Hacker Rank notes, while “[t]here’s a lot of information (and some strong opinions) about what specific programming languages developers are using… popularity doesn’t necessarily translate to demand by employers.”
Look through a job posting for an open web developer, software engineer, or even data scientist position, and you’ll likely see one or several programming languages listed as must-haves or nice-to-haves. These are the crucial languages to get your foot in the door, and while they might not always align with what are the most popular programming languages at the moment, they’re worth investing in if you want to land a job instead of winning internet points or merely pursuing a hobby.
Case in point: according to Stack Overflow, “People learning to code are more likely to be using 3D tools than Professional Developers - Unity 3D (23% vs 8%) and Unreal Engine (9% vs 3%) - teaching themselves skills for 3D VR and AR.” Of course, coding the next generation of VR and AR games and immersive experiences seems cool — but relatively few coders will be working on these initiatives in the coming years. Instead, it pays to learn those languages that the vast majority of professional developers utilize every day.
Learners vs. Professionals
But it would also be a mistake to first learn the more advanced languages that the pros use, especially if you’re just getting started. Professional developers, especially in more specialized roles, deal with more differentiated tasks than your run-of-the-mill junior software developer, and often they will need more particular tools to accomplish them effectively. So while you should opt to learn programming languages that real professional coders also use, you want to make sure to start with a general purpose programming language that will help you learn programming concepts and set you up for growth.
How we have made our recommendations for the best programming language to learn
If you calibrate on the axes we’ve laid out above, you need to take into account the needs of employers, the day-to-days of software developers, and the expertise of educators. In developing our recommendations, we’ve done just that, analyzing surveys of these groups using them to triangulate the five best programming languages to learn if you’re looking to make coding a career. Included in our analysis were the following:
Top languages demanded by recruiters
Languages with most job postings
Learning to Code
Our List of The Best Programming Languages to Learn
Triangulating from these rankings produced by employers, developers, and educators, we determined the best programming languages to learn in the following order — though, to be clear, learning any of these languages would be a meaningful step towards a coding career.
Another great programming language to learn early on is Python. Python is a general purpose programming language that is many coders’ first language because its clean and readable syntax makes it easy to learn. Resembling plain English, it helps new coders “look under the hood” and begin to grasp the fundamentals of computer science in a more familiar environment.
Python has a wide range of uses, including web development, data analysis, machine learning, scientific computing, automation, and scripting. It’s extremely popular among data scientists and machine learning engineers, and there are large frameworks and software libraries that have been created that make new coding projects infinitely easier. Its ability to integrate with other languages also makes it a stand-out system administration, automation, and scripting language
Python’s wide variety of use-cases, its user-friendliness and efficiency, and the programming fundamentals it teaches puts Python at number two on our list.
- IBM’s Python Basics for Data Science (free with optional upgrade)
- W3Schools’ Python tutorial (free)
- Learn Python 2 on Codecademy (free with optional upgrade)
- LearnPython.org (free)
Java is yet another widely-used, general-purpose programming language that can be run across platforms due to its "write once, run anywhere" philosophy. Like Python, Java has a strong community and extensive software libraries that can speed up coding tasks.
Because it’s so efficient and cross-platform, Java is highly scalable and frequently used for enterprise-level applications. It’s also the language-of-choice for Android mobile app development, so demand is high for coders who can code in Java.
But why is Java really a great programming language to learn if you’re just getting started coding? Java’s syntax and concepts are similar to other popular programming languages like C# and C++ (see below). This means that learning Java can unlock new learning paths and make your coding journey easier in the long run.
Like Java, C++ is also a great programming language to learn because it opens the doors to other languages, especially those in the C family like C and C#. But even outside of these “C languages,” C++ can provide a basis in object oriented programming and programming principles like memory management, pointers, data structures, and algorithms that can help an intermediate coder when it comes time to add a new language.
- Learn C++ on Codecademy (free with optional upgrade)
- LearnCPP.com (free)
- W3Schools’ C++ tutorial (free)
SQL (Structured Query Language) is a programming language with a specific use: managing and manipulating relational databases by providing a set of commands and syntax for querying, inserting, updating, and deleting data in a database. SQL is essential for working with databases and is widely used in various industries.
Demand has grown in recent decades for professionals proficient in SQL as businesses have amped up their data-driven decision making programs. Now, SQL forms the basis of many data science curricula, and many professionals who wouldn’t consider themselves coders are able to write SQL queries.
But don’t let that fool you: SQL can integrate with other programming languages to support advanced coding projects like data-driven applications and machine learning models. If you’re looking to go into machine learning or artificial intelligence, SQL is a great language to learn early.
- LearnSQL on Codecademy (free with optional upgrade) W3Schools’ SQL tutorial (free) or certification ($95)
- LearnSQL.com (price varies)
- Jose Portilla’s SQL Bootcamp ($24.99)
Above we’ve listed out our picks for the best programming languages to learn if you want to begin your career in tech, along with some ways you can start learning. If you’d prefer a higher-touch learning environment, however, we’d recommend a software developer bootcamp. Check out our guide to learn more, or input your information into our matcher to get personalized recommendations and get matched to the right coding bootcamps for you. Or head over and compare software development bootcamps using our tool.