There are so many programming languages out there that it can be hard to know where to begin. Should you learn a high-level or low-level language? Do you need to know more than one language? Is it a good idea to try out a few and see which one you like? All of these are excellent questions.
The good news is, once you’ve learned the underlying logic for one language, it’s often easier to apply that knowledge to a new language. It’s also important to think about why you want to learn a programming language in the first place. Whether you’re a hobbyist, a product manager hoping to communicate better with your engineers, or considering a career in software development, there are a few factors to take into consideration before deciding where to start.
What Do You Need To Do?
Code isn’t written by accident. A language is usually chosen for a task because it fits that task. For example, Javascript’s runtime engine processes request differently than Java, making it a better choice for writing web servers.
Sometimes you will have no choice in the language you use: you might know Go like the back of your hand, but you could be thrown into a legacy codebase written in Ruby at your job. You could passionately argue the benefits of writing your company’s new API in Node, but ultimately be overruled.
What Do You Want To Do?
The languages you use will be very different depending on the job you want. A front end web developer should be well-versed in Javascript, but doesn’t need to use C++ in their day to day tasks. A programmer writing a Microsoft application won’t give two hoots about Javascript but will need to be an expert in C#.
What Do You Already Know?
Some languages are easier to learn than others, or at least have a lower barrier for entry. If you have no experience with computers at all, your learning curve is going to be much steeper than someone who has been working with them for a long time. If you have a solid foundation in math and statistics, certain jobs, and therefore certain languages, are going to be more in line with your skillset.
For the purposes of this article, we’re going to assume you are a beginner with little experience.
Good Programming Languages for Complete Beginners
The best languages to learn for complete programming newbies are Javascript, Python and Swift. Python and Javascript consistently top “popular programming language” lists and all three of them are recognized as great languages for beginners. There are several reasons for this – let’s break them down.
Javascript
Javascript has exploded in recent years to become one of the most popular programming languages in the world. As software moved to the web, the demand for this web-based language skyrocketed. If you know for certain that you want to be a web developer, Javascript is where you should start.
Because Javascript is in such high demand, there are thousands of online resources to help you learn it.
Javascript is a high-level language. This means that a lot of the complex processes (memory allocation, garbage collection, compiling and typing) are abstracted away. This makes the syntax quite simple. In Javascript you can simply declare an array
const arr = [];
and put whatever you like in it. Other languages are not so forgiving.
Python
Python is the fastest-growing major programming language and this year outranked Java in popularity in the Stack Overflow developer survey.
Python is also a major player in Artificial Intelligence and Machine Learning. It is lightweight, has many APIs for interacting with operating system processes, and has many, many AI and ML libraries. If Artificial Intelligence is in your future (which it is, because it’s in all of our futures) Python should be where you start.
Python cannot be used for front end development, so if you are looking for a career in FE web development, Python may not be a good choice.
Swift
Swift is not an incredibly popular language, and in fact, is pretty niche. It was developed by Apple specifically to run on their devices, so unless you want to build mobile apps specifically for Apple it is not a great career-starting move.
The awesome thing about Swift, though, is that Apple geared it toward new programmers, so it is very beginner-friendly. Swift is another high-level language that takes care of a lot of routine processes for you. “Swift Playgrounds” make learning to code fun and accessible (you can do it on an iPad.) Swift is also used in schools and summer camps to teach kids to code.
Java
Wait what?
Okay, Java is getting an honorary mention because Java is significantly more difficult to learn than other languages mentioned here. It used to be the go-to language of colleges and universities, but has started to lose out to Python because it’s verbose and somewhat difficult to learn. However, it can be a great first language if you are willing to put in the extra time and effort. The bonus is that once you’ve learned Java, learning JS, Swift and Python will be much easier.
Java is another one of the most popular languages in the world – and many major companies rely on Java somewhere in their tech stack. Because it has been around for so long, you will consistently find it in legacy codebases.
Java is also the official language of Android development, so it’s safe to say that it will be around for a while. If you’re looking to become an Android developer, you can’t go wrong starting with Java.
In Conclusion
The most important thing to keep in mind when choosing a language to learn first is to pick something accessible and fun. If you start with something too difficult you will quickly burn out and lose interest. If you’re learning an easy language but not using it to build anything cool, you will get bored. Always have fun and remember why you are doing this.
Now get out there and start learning!