Choosing a programming language to learn depends on a few things, and it doesn’t actually have to be complicated. Or does it?
I will start this article by saying that it depends on your current knowledge level, as it’s a bit different if you’re already an experienced programmer, or just starting out.
If you’re an experienced programmer and choosing a second (or third, or fourth or whatever) language to learn, it depends on your preferences, for example, maybe you’re a frontend developer, and wish to switch to the backend (like I did recently). Or maybe you want to switch it up completely, go from web development to game development. In this case, things can be a bit different.
But, I’ll assume you’re a beginner or a mid level developer, and split this article in two parts.
Things are a bit easier for beginners, as the goal for a beginner programmer should be to just get started with learning how to program, and choosing a programming language is not as important.
However, you should think about what interests you. Can you imagine yourself in a certain field, maybe you’d like to become a web developer, or developing games sounds super cool? What about embedded programming?
I would say that’s the first step, and goal, to think of a field, and then dig deeper. Let’s say you’re interested in becoming a web developer. Does doing frontend or backend sound more interesting?
But even at this point, programming language is not too important, the important thing is to learn how to program, and solve all kinds of problems, and for that purpose, a programming language (almost) doesn’t matter.
The reason I added almost is that your choice could potentially influence you later on, if you choose an exotic programming language at the start, it could potentially be a bit harder to switch to another one or find a job. But this will most likely not be a problem, as long as you stick to one of the popular programming languages.
Another great choice is Python, because of it’s clear syntax and great standard library. It’s a very versatile language, and can be used for many purposes, for example web development, machine learning, data science etc. Python is used for building backends of many popular websites, like Google, Spotify, Instagram and Facebook.
Things get a tiny bit more complicated for mid level developers, and the choice usually depends on a few factors.
You’ve probably become proficient in one language, and are thinking of learning another one to become even more desirable on the job market, more valuable in your company, or just for the sake of learning a new programming language.
Whatever the case may be, you should probably think of a few things before making your final choice:
- state of the job market
- how quickly you can learn it
- what benefits will it provide you.
If the job market for your desired language is bad, meaning there’s no jobs, or no good paying jobs, it might be worth it to reconsider your choice.
In the end, it’s worth considering the benefits that learning a new programming language will provide you. If you’re learning just for fun, then this obviously doesn’t matter, as there will certainly be some benefits involved, but if you’re learning to advance in your job, it might be more beneficial to choose a language you wouldn’t normally learn, or the one that might not be the most fun.
Learning a new programming language(s) is (mostly) always fun, and also helpful, as the concepts carry between languages, and you will certainly become a better programmer with every new language that you learn.