There are hundreds of programming languages available in 2021. So many in fact, that there is at least one for each letter of the alphabet.
When you are a beginner, it is difficult choosing your first language. We are afraid of picking the wrong one. In this post, I will try and explain the things to take into account when choosing a language to learn. Also, we will take a look at the world's most used languages, and which language I recommend you to learn.
You want to start programming and you ask yourself the same question every other confused beginner ask themselves:
Which Programming Language should I learn?
Two possibilities, either:
- You already know what you want to program: a mobile app, a website, a video game, a desktop application, etc.
- You are clueless, but you know you want to learn.
In both cases, these next few criteria apply to you.
Today, we no longer program as we used to in the 1980s. Programming languages have evolved over the years. More so that, the way we program has evolved. This is what we call shifts in Programming Paradigms.
Another paradigm that is gaining popularity these days is Functional Programming. The principle is to code a sequence of functions that has self-contained and don't have any side effects. Almost every language supports this paradigm, it's just how we use the language is what will matter.
If your goal is to become a professional developer, it should be in your best interests to pick a modern programming language. There are fewer and fewer opportunities in the job market for older languages. So go with Python instead of COBOL for example. I know this is obvious but it is something needed to be said.
If you want to get an idea of the most popular languages at the moment, you can take a look at the StackOverflow 2021 Survey on the subject.
You can also refer to the TIOBE Index which lists the most popular programming languages each month based on different sources of information.
Learning a popular language will allow you to reap all the benefits of an online community. Learning a new language is not easy, learning it on your own is even less so. Having a strong community means there are literally thousands of people ready to help you at a given time without asking for a cent. This is a major asset when you want to learn a language very quickly.
The more popular the language, the more resources you will find to learn it. Books, blogs, videos, podcasts, conferences, etc.
Another reason for choosing a popular language is the richness of its environment.
A Framework makes it possible to quickly create very complex applications while maintaining a simple structure. While a Library is a set of code that can be used on your applications to facilitate your development and saving us time by not reinventing the wheel every time.
Today, to create modern applications, we often need to use frameworks and libraries. We choose languages, not because of their built-in features, but for libraries it runs. For example, React or TensorFlow.
Be sure to select a language that allows you to do the thing you want to do with the libraries and frameworks available for that language.
It is not easy to learn a new programming language. No language claims to be the easiest to learn. But some are more difficult to learn than others.
You can divide them into two categories, low-level and high-level languages.
Low-Level languages such as Assembler or C make it possible to create highly optimized programs that are close to the hardware on which it is executed. With these languages, you have to do some things manually like, for example allocating and clearing memory. These things can be complicated for a beginner.
Lastly, things like compilers, code editors, debuggers, syntax highlighters, etc are things to keep in mind when picking a language. You don't want to start coding blindly without taking advantage of the language's set of developer tools.
For some languages like C, you will need to compile your program first before you can run it. That is why C is a compiled language.
Now, one language can't be used to create everything you would like. Each language has its strengths and weaknesses based on the type of project you use it on. Let's summarize some of the possibilities.
If you are choosing a language for making video games. It depends on the platform it is going to run.
For Windows PC: I recommend C++ (standard in the video game industry).
For Consoles (Xbox, PSX, etc): You have no other choices than C/C++/C#. SDKs made by each manufacturer of these consoles are available for developers to use.
For Android: Learn Java or Kotlin.
For iOS: Learn Swift.
From day one, you can make cool and fun applications with graphics (using CSS) and animations from your browser.
In addition, thanks to many frameworks and libraries available, you can create a mobile application, or a website, or a video game, or a desktop application, or even Augmented or Virtual Reality apps. Crazy right?
The demand for this language continues to grow, you will have an easier time finding a job and your salary will be among the highest in the pool of software developers.
Having many developers in different roles using only one language for the whole product greatly facilitates the maintenance, architecture, and modularity of a project.
In this article, we looked at how we can take an educated pick for a language. We also looked at the top languages in the world today and what I recommend using. I want you to take all these facts with a grain of salt and remember that each one of us has different goals in software development. As time goes by and different technologies emerge, the popularity of these languages will go up and down. Which also affects your job and salaries. So don't get stuck on one language, keep learning and trying different things.