Programmer is one of the most demanded and highly paid professions. The choice of a programming language is important at the stage of training, the choice of an IT profession, the industry in which you want to work, at the stage of creating a program! What language should you choose to transform the task at hand into a finished program?
Go is often compared to C++ when it comes to low-level programming and implementations that require faster processing, such as Graphical User Interfaces (GUIs). In fact, many claim that Go is superior to C++ in terms of its concurrency and ease of use. Most graphical application toolkits, though, are still written using C or C++, and so they don’t enjoy the benefits of using a modern programming language such as Go.
The programming language affects the speed of creating a program, the speed of testing, the ability to port to other platforms and quickly make changes, the speed of the final product. It should be said that there is no ideal language. Quite often, beginners ask themselves which language is the most popular? How are the popularity ratings of languages compiled and what does knowledge about the position of a particular programming language in them give us?
Rating rating strife
Ratings can be made by companies based on a variety of patiently collected data, they can reflect market trends, the popularity of programming languages or their prospects.
To analyze the popularity of languages, you can analyze the number of lines of code written in different languages and uploaded to GitHub, a platform for developers where many people store their projects. Obviously, in this case, we will not learn anything about the code of banking systems, automation systems of large companies and the amount of code written in them. It’s just that no big business will publish their projects to GitHub.
But there are ratings that are usually trusted, and the methodology for compiling the index is more or less objective. One such index is the TIOBE Index. TIOBE specializes in assessing and monitoring software quality. The company verifies over 1,056 million lines of code daily for its customers in real time around the world. By checking such a volume of code, TIOBE were able to create their own rating of the popularity of programming languages, which for 20 years has been telling us who comes first.
Several interesting trends can be seen in the published TIOBE Index for October 2020.
Table 1. TIOBE Index for October 2020
In the first place we see the C (C) language. Unexpected, isn’t it? Considering that the C language was developed in 1969-1973, its popularity in 2020 looks unlikely to say the least. Let’s see how its index has changed over the past 18 years.
Chart 1. TIOBE Index for October 2020, C (C) programming language
The graph clearly shows that the C (C) language experienced its rebirth in 2017 and broke into the first position. We’ll talk about why this is possible and sometimes happens with different languages later, but now let’s look at the trends in other programming languages.
What about the popular Python language?
From table 1, we learn that Python is already in third place in popularity and has come close to the Java language. Moreover, its popularity continues to grow.
Chart 2. TIOBE Index for October 2020, Python programming language (Python)
The growth rate of Python’s popularity leaves no doubt that in a few months it will be able to move to the second position, and possibly reach the first within a year.
Well, in order to compare the first three languages, of course I would like to look at Java.
Chart 3. October 2020 TIOBE Index, Java Programming Language (Java)
From the graph, we can assume that the language is going to decline, and very soon it is possible that Python will take its place, pushing it somewhere to the margins. However, it is not. Almost the entire banking sector is written in Java, the vast majority of the harsh Enterprice, the Android operating system and most mobile applications for it, the super popular Minecraft game and much, much more. It is impossible to supplant Java.
What do the ratings actually tell us?
It turns out that the ratings are not talking about the coolness of this or that language and not about the fact that you need to run and retrain everyone to the most popular one. These ratings can tell us about deeper processes taking place in IT.
1. Growth of the small and medium IT sector
Whenever we see the rise of simple programming languages that are relatively little used in harsh and large Enterprise programming, we realize that there is an active growth in small businesses around the world.
The fact is that Python, PHP and other relatively simple languages are often used in small and medium-sized projects, the number of which in percentage terms on the Internet is growing and will continue to grow even more.
At the same time, all large business began its automation a long time ago and reached its certain maximum and will continue to grow, but not so actively. It is this factor that leads to the fact that such languages as Java, C#, C ++ is slowing its growth.
2. Frequency of updates
Everyone knows that when a new version of the iPhone comes out, its popularity immediately takes off. Everyone is talking about him only, his photographs are spread across all billboards, bloggers show how to unpack it, and every student comes to his parents with the words “buy”, and new features become simply vital, and it’s not clear how we lived without them.
The same thing happens with programming languages. For example, Python is updated quite frequently. Some updates result in previous versions being no longer supported, for example when migrating from Python2 to Python3.
Therefore, new versions always lead to a surge in the popularity of this language, especially if the updated version contains useful features and does not support previous versions.
In the languages of the big three: Java, C / C ++, C #, it is difficult to imagine that a version will be released that does not support all the previous ones. After all, a ton of code was written on previous versions in large companies. Therefore, there is no surge in popularity during the update, but developers moving to new versions just start using new features of the language.
Therefore, the graph of the popularity of a programming language is often associated with its intensity of development and the paradigm of support for old versions.
3. The emergence of new directions in IT
How can the popularity of languages show us new milestones? Quite simply, if we see that a programming language has experienced its rebirth, then this suggests that a new application has been found for it. And this is an application in a field that is actively developing and growing.
How do ratings of languages affect the quality of a programmer’s life? Let’s look at the example of a programmer Boris (the name has been changed, since we care about his case, not Boris himself). He works for a large company and develops in the Swift programming language. Writes mobile applications for iOS. The Swift language is not very popular. It is not included in the top three, five or even ten popular languages.
However, Boris has a well-equipped workplace, a salary of 290K rubles plus bonuses, a full social package, including a dentist, and a good perspective for development.
Why is that? There are simply not enough people like Boris on the market. After all, Boris was not originally a Switch programmer, he had fundamental knowledge of programming and created games in Python. With this knowledge, I mastered Swift in a few weeks and got a new job.
There are tens of thousands of people like Boris in various IT companies.
Hence the conclusion that it is not so important which programming language you are now starting to learn, whether it is growing in popularity Python or widespread Java, it is important that you can get fundamental knowledge + experience in creating real projects.
Have you always wanted to learn Python, but never quite known how to start?
More applications than we realize are being developed using Python because it is easy to learn, read, and write. You can now start learning the language quickly and effectively with the help of this interactive tutorial.