Whether you’re looking to refresh your skills or learn something new, it’s a good idea to check what’s current. The TIOBE Index updates every month, using data from engineers, courses and vendors to work out the most popular and in-demand programming languages. We’ve used this list to put together a rundown of the programming languages you should learn, or at least be aware of, if you’re planning to do anything involving software development.
TIOBE do warn that these are just popular languages, though: if you’re looking for the best programming language, these aren’t necessarily what you need. You need to think about what you want to do with the language you learn, and what fits best with the way you think and work!
Good for: Mobile and web apps.
If you’re looking to learn a new language, it’s safe to say that Java is important. If you don’t have any Java skills, you might want to acquire them fast.
Good for: Cross-platform compatibility
C is the second most popular programming language according to TIOBE, and it’s with us for the long haul. It’s commonly used in developing firmware and portable apps, and was originally developed for Unix. It’s been around for a while, developed back in the 1970s, but it shows no sign at all of dying out.
There are tons of tutorials available online for C, some of them designed for people who haven’t programmed using any language before. It might be a good place to start if you’re new to programming, and it’s a skill you’ll need for the foreseeable future.
Good for: General purpose programming
C++ is a bit more modern than C, and though it’s not quite as popular, it’s still a staple of coders everywhere. It’s a bit more versatile than C in that it is a ‘hybrid’ language; it combines two different types of programming languages, while retaining a lot of the functionality of C. Careful, though: they’re not completely compatible.
Good for: A first programming language
Python is a solid favorite of some programmers, and unlike Java, C and C++, its popularity isn’t really declining over time. It’s a streamlined system, allowing programmers to express what they need in fewer lines of code than is possible with C++ or Java – and it’s designed to emphasize readability of the code, too.
It’s easy to learn, with a learning curve that doesn’t climb too fast. Some people say it’s the ideal first programming language.
Good for: Windows programs
Developed by Microsoft within the .NET initiative, C# is designed to be simple, modern and general purpose. It’s intended to be robust and durable, and some say it’s a lot like Java – maybe too much like Java. Regardless, it’s a popular language and has an active development team. It’s safe to say that C# is a useful skill.
Visual Basic .NET
Good for: Simple user interfaces
This is the first language on the list which TIOBE rates as increasing in popularity. If you’re looking to get a new skill which will further your career, Visual Basic is definitely a wise choice. It’s described as a fast and easy way to create .NET-based applications, and users are confident that it can be used to program just about anything you need.
Good for: Web design
Good for: Speed in programming
All the other languages on this list are high-level languages, but assembly language can do things not possible in such high-level languages. It’s seen a bit of a surge in popularity recently, probably because programmers can use it when speed is essential, as well as when higher level languages won’t do the job. Warning, though: assembly language is specific to the type of CPU involved.
Good for: Server and Wordpress interfacing
PHP might be declining in popularity somewhat now, but it’s still a key language in website design, particularly for creating interactive webpages. It’s primarily designed for web development, but some people use it as a general-purpose language as well. “PHP” stands for “Hypertext Preprocessor”, and it’s essential for software like Wordpress. This is a skill you probably shouldn’t miss out on.
Good for: Security
Good for: Ease of learning and readable code
Ruby is past its peak popularity, but a lot of programmers still swear by it. It’s been described as simple, elegant, practical and general purpose – it’s easy to read and thus easy to learn, which is good news if you find looking at a page of code a bit like interpreting Egyptian hieroglyphs. Even though it’s not in the top ten right now, it’s still a versatile language that would be a great addition to your toolkit.
It’s a good idea to be versatile and to be at least familiar with all the popular programming languages. The languages you know will limit your options in what to work on – or open up the horizon for you. A good course in a couple of the most popular ones will set you up for work in tech. The more programming languages you’re familiar with, the easier it is to acquire new ones, because of the similarities between some languages, and the way that they build on the successes and failures of languages that came before.