JavaRush /Java Blog /Random EN /Rating of programming languages
Level 37

Rating of programming languages

Published in the Random EN group
There is no single correct answer to the question of which programming language is the best. Each language was created to solve specific problems. Over time, some of them have lost relevance and faded into the background. The most in-demand programming languages ​​today are those that meet the needs of large corporations, businesses, mobile and Internet platforms. To find out the demand for a language in the IT technology market, as well as simplify the task of choosing for yourself, if you decide to start programming, the rating of programming languages ​​will help you. In the article, we will talk about such ratings, as well as determine the top programming languages ​​​​in 2020, according to these ratings. Rating of programming languages ​​- 1

What is a rating?

Rating does not answer the question which language is better. Rather, it measures the popularity of programming languages ​​by determining it based on one or more criteria. Such criteria can be the language requests of users on the Internet, the number of downloaded software, the number of discussions on forums, the number of vacancies in the market. For example, here is how you can calculate the Java rating among four languages ​​by user requests on the Internet: Rating of programming languages ​​- 2, where n is the number of user requests by language on the Internet.

What are the ratings?

Below are ratings from various companies that have been monitoring the popularity of programming languages ​​for a long time. One of the most famous ratings is TIOBE. The analysis of ranking results includes data based on the search results of 25 major search engines, including Google, Ebay, YouTube, Yahoo!, Wikipedia, Amazon, Bing. In the first picture, you can see the most popular programming languages ​​in May last and this year. Rating of programming languages ​​- 3
Figure 1. Programming Language Ranking 2019 (May), Programming Language Ranking 2020 (May) by TIOBE Software
Rating of programming languages ​​- 4
Figure 2. The most popular programming languages ​​over the past 8 years and the dynamics of changes in their popularity. TIOBE Software Data
The Red Monk ranking (Figure 3) uses GitHub and StackOverFlow data to compare languages. The parameters by which the rating is compiled are the frequency of discussion and use of the language in projects. Rating of programming languages ​​- 5
Figure 3. Ranking of programming languages ​​according to Red Monk
Below is the top programming languages ​​as of January 2020 based on the Red Monk ranking. According to the ranking, GitHub hosts the most JavaScript code, with Java and Python sharing second place.
  1. JavaScript
  2. Python and Java
  3. PHP
  4. C#
  5. C++
  6. Ruby and CSS
  7. TypeScript and C
  8. Swift
  9. Objective-C
  10. Scala and R
  11. Go and Shell
  12. PowerShell
  13. Perl
  14. Kotlin
  15. Haskell
The PYPL rating (Figure 4) is based on an analysis of the frequency of language documentation searches on Google. The more requests, the more popular this language is considered. The raw data comes from Google Trends. Rating of programming languages ​​- 6
Figure 4. PYPL Top Programming Languages ​​2020 (May)
As you can see, according to PYPL, the top programming languages ​​of 2019 are not too different from the top of 2020 for the same month (May). Rating compiled by the Institute of Electrical and Electronics Engineers IEEE Spectrum (Figure 5). It uses data from 12 sources including Google, GitHub, StackOverFlow, Reddit, Twitter, Career Builder, Dice, IEEE Xplore. In addition, this ranking allows you to evaluate programming languages ​​from a career perspective and by industry. According to the rankings, Python, Java and C are the world leaders, while Java shows excellent results in web, enterprise and mobile development. Rating of programming languages ​​- 7
Figure 5. IEEE Spectrum Ranking (2020)
Figure 6 shows the top languages ​​used by developers according to the Stackoverflow Developers Survey (2019). Rating of programming languages ​​- 8
Figure 6. Rating of programming languages ​​according to StackOverFlow Developers Survey
And Figure 7 shows the dynamics of the popularity of language queries from Google Trends for the first 5.5 months of 2020 Rating of programming languages ​​- 9
Figure 7. Dynamics of queries by languages ​​Java, C++, Python, JavaScript, C

We analyze ratings and narrow the search

What conclusions can be drawn from these rankings? Despite some differences in the distribution of language places, the leaders are Java, JavaScript, Python, C. These four languages ​​occupy about 60% of the total use of programming languages ​​in the world. Therefore, by choosing one of them, you will be in the trend of technology.

We study the "candidates" closer

So what programming language to learn, if you choose from these four? To decide, you need to take into account several important points.
  • JavaScript is a very popular language for developing front-end web applications. This language is closely related to HTML and CSS, so in parallel with learning JavaScript, you will have to deal with these technologies. Choose this language if you want to do front-end programming, if not, it’s better to choose something from the Python, Java, or C family as your first language. However, the basics of JavaScript will not interfere with all developers, regardless of profile.

  • Python is a good choice as a first language. But it significantly loses in performance to C and Java, so it is not used to develop highly loaded applications. For example, here are the results of benchmark tests of various languages ​​using nested loops:

Rating of programming languages ​​- 10
Figure 8. Performance test results for different languages
Be sure to research the job market in your area. If in the West it is quite easy for a Python developer to find a job, then in the countries of Eastern Europe things are somewhat different. Is there enough demand for Python in your city? Choose this language if you are sure that you will easily find a vacancy for a Python programmer. If you want to make money with programming, take a look at Java, a family of C languages. C++ is worth learning if you want to, for example, write various application programs or games. C is closer to the hardware and is used for low-level programming. Suitable, for example, for writing drivers and operating systems. The C# language was created in the image and likeness of Java, only with a syntax even closer to C++ and is used primarily for developing software products for the NET.Framework and Windows platforms. ConcerningJava, then it has established itself as a fast (Fig. 7), reliable and platform-independent language, which makes it the best programming language for developing enterprise applications - enterprise-wide applications. In addition, Java is one of the main languages ​​for mobile development, and is also widely used to create a variety of web and desktop applications. The Java language was created to simplify the work of programmers and reduce the requirements for their skills, so it is easier and more "fail safe" to use than C and C++. To properly program in C or C++, you need to have a fairly high qualification, since these languages ​​​​have the ability to use low-level programming tools. With an insufficient level of knowledge, the likelihood of writing unsafe and obfuscated code using these languages, difficult to debug, much higher than in Java. Java is an easy language to learn, which can be mastered “without leaving home”, thanks to the huge amount of material on the Internet and various online learning resources, so I advise you to take a closer look at it as the first language to learn. Thanks to the existence of such forums asStackOverFlow , Javatalks , and Cyberforum while learning Java, you can easily find the answer to any question on the topic of programming. In addition, Java developers are among the highest paid programmers. You can read more about this here .

Let's summarize

So, if you have not yet decided on the first language to learn, follow these steps:
  1. Think about what you would like to do in the future (web development, development of applications and software for games, mobile development, development of server-side enterprise applications)
  2. View two or three major language rankings, review the popularity of languages ​​on the Internet
  3. Explore the job and salary market in your area (for example, on job search sites)
  4. Estimate your strengths and time that you can devote to learning programming

Java is the best choice

Why is Java the best programming language for the vast majority of beginners?
  • Knowing Java, with a high degree of probability you will be engaged in the development of enterprise applications. This work is well paid, because the customers are corporations, banks and large business players.
  • Knowledge of Java gives you the opportunity to engage in promising, actively developing and well-paid mobile application development.
  • The vast majority of running enterprise server applications in the world are written in Java, so the language, even in the most pessimistic scenario, will be supported for many more years.
  • For many years, Java has been one of the leaders in terms of the number of vacancies. Often employers are large companies, and it is easier for a junu to develop in a large company than in a small one.
  • Java is quite easy to learn. Having mastered it, you will master the fundamentals of programming, necessary for any programmer. At the same time, after it it is very easy to learn JavaScript or Python and it is much easier to approach relatively complex C ++.
  • The Java language is easier to use than the C/C++ languages.
  • Last but not least, Java development pays well.