What language do I learn first?
This is one of the most popular questions made by developers from all around the world, even if they’re not beginners. Every year, new articles and videos are made featuring “The best programming languages to learn in 20xx” or “The languages that will get you a job”. Whereas there’s no harm done with this use, the common meaning of this expression probably isn’t the best direction to take.
A World of possibilities
There are hundreds of programming languages that accomplish all sorts of tasks, and dozens of mainstream languages used by companies and teams every day. The vast array of options can be overwhelming and even have a negative impact in your learning journey as a developer.
The term “best language” is widely used and is often misleading, since it commonly represents the popular and trending languages. This statement considers the overall number of users the program has, how many jobs were offered worldwide for this language and so on. Although this is a useful insight, it definitely shouldn’t be the only factor when it comes to choosing to learn a programming language.
The language’s features and you
In this scenario, there’s no single best programming language out there. Every language is just an option that may or may not be the right one for you depending on a number of aspects. All these options will define the right choice for you.
Even though everyone’s situation and context are totally different from others, usually the best way to make a good decision is to gather all the information you can. This will help you judge options objectively and with the same conditions, reducing the chance of a bad choice. As with everything, programming languages have different traits that sometimes set them appart from the rest and others that make them similar to others.
Some of the most important questions to keep in mind when choosing a programming language to learn are:
- What is the programming language used for? (web applications, data science, mobile, maybe all of those)
- Are there good resources that can help you in the process? (docs, courses, example projects, etc.)
- How hard is it to learn the language? (especially if you are a beginner)
- Is this a popular programming language?
Considering this key aspects is essential in your search for the right language and
Some ideas to get you started
You now know how to choose a language based on objective information. The next step is to actually pick from the sea of options. Just in case you want some more help, I’m going to list three of my favorite programming languages and why I like them in order to get some actual examples.
It’s relatively versatile and useful if you want to learn web development, and has a lot of learning resources online as well. However, it’s not the easiest language if you are a beginner.
Python: probably the most popular language to this day. Used for things as diverse as AI, web backend, data science and even basic game development. It’s also one of the easiest languages, thanks to its human-readable syntax and structure.
It’s a great language to learn, even more so if you’re not sure what area of software development you want to specialize into.
C Languages: include c, c++ and c#. They’re popular as well, thanks to their high level syntax with incredible performance. Can be used on desktop applications, game development and is the most popular language for competitive programming, followed by java and python.
C and C++ are somewhat difficult to learn, but are great for learning about resource management, memory and time efficiency.
Learn what’s essential
Ten years from now, the language you chose might not be your favorite, the most demanded language in the industry you specialize in or maybe won’t even exist anymore. The future in terms of programming languages is very uncertain, with improvements that remain to be made and challenges that remain to be solved.
Doesn’t this mean that the first language I learned won’t even matter in the long run?
To some degree, yes. In the end, it’s just a language: a piece of knowledge that may become obsolete someday. This is exactly why it’s so crucial that you learn to program while you learn the language.
Doing this will help you overcome the possibility of obsolescence, since programming languages might change or become less used, but programming itself won’t. Pretty much every language has followed the same principles for a long time, some older than computers themselves. Furthermore, after you learn your first language, learning the second will be much easier, so will the third and so on. Keep your overall learning in sight and don’t let the choice of a programming language haunt you.