How languages were assessed
This year we decided to take the same path and evaluated programming languages:
— according to TIOBE and RedMonk ratings (based on GitHub data and Stack Overflow discussion activity)
— the entry threshold
— the size of developers’ salaries
In this article we consider:
- Python
- JavaScript
- Java
- TypeScript
- Golang
- Ruby
- Swift
Python
Popularity
The language is in 1st place in TIOBE. Despite its popularity, the language has lost 2.39% in the ranking over the year. Here is the dynamics of Python’s position change since 2002.
According to the RedMonk rating, the language is in second place. Below is the dynamics of the popularity of programming languages since 2012. The infographic also contains other languages that we discuss in this article – you can immediately pay attention to them.
Entry threshold and prospects
Python is considered to be an easy language to learn, and at a basic level it is accessible to beginners without a technical background.
Python can be used to write both relatively simple projects and enterprise systems with complex architectures. And Python libraries (TensorFlow and Keras) have made it popular among specialists for creating neural networks and machine learning models.
JavaScript
Popularity
In the TIOBE rating, JavaScript is in 6th place, having lost 0.11% over the year (no particular dynamics). This can only mean one thing: JavaScript is consistently popular among developers.
Entry threshold and prospects
JavaScript technologies are used in almost all IT industries. The language has a low entry threshold, which makes it accessible to beginners.
To get acquainted with the basics of the language (syntax, data types, operators), a beginner needs 1-2 months. Another month will be spent on learning how to work with the DOM tree and events. After that, a person will be able to write simple scripts for websites: for validating forms, sliders, processing user clicks, etc. Well, and then you need to master asynchronous programming and frameworks – this will take from 2 to 5 months.
JavaScript is unlikely to lose popularity anytime soon, as it can be used to develop websites (both frontend and backend), smartphone apps, and even games. The entire Gmail frontend and other world-famous apps are written in JavaScript.
Java
Popularity
In the TIOBE rating, Java is in 4th place, the language has lost 4.34% in a year. Only the C# language has seen a greater decline – it has fallen by 4.81% in a year. However, this is not a critical drop.
In the second rating, Java is in 3rd place – it has been there for three years in a row. In RedMonk, Java is quite stable: since 2012, the language sometimes falls to 3rd place, sometimes rises to second.
Entry threshold and prospects
Here everything is a little more complicated than with the previous languages - the entry threshold for Java is average.
Java is an object-oriented language. In addition to the usual base in the form of syntax, data structures and operators, you will have to master the concepts of OOP: classes, objects, inheritance and polymorphism.
On average, it takes beginners from 2 to 6 months. After that, you will be able to create simple applications for desktops, smartphones and the web: calculators, todo lists, games.
Java programmers are very popular in the labor market. This language is used to develop mobile applications for Android, large corporate systems and games. Thus, Assassin’s Creed and Minecraft, the server part of Pokemon Go, the State Services portal and applications for the Internet of Things, as well as food and grocery delivery services are written in Java.
TypeScript
Popularity
This language is ranked 35th in the TIOBE rating. Over the year, TypeScript has gained about 0.39%, i.e. almost nothing has changed. However, developers recommend learning TypeScript, in another rating it occupies a higher position.
According to RedMonk, TypeScript is in 8th place, climbing up from the basement since 2016. It was in the same place last year, which suggests that TypeScript is clearly in demand among professionals.
Entry threshold and prospects
The easiest way to learn TypeScript is for programmers who already know JavaScript, since many concepts and syntactic constructs are similar. In this case, it is enough to spend a couple of evenings watching tutorials on YouTube – from them you will learn what static typing, interfaces, generics, etc. are. It will take several weeks to consolidate the acquired knowledge in practice.
Is TypeScript worth learning as your first programming language? Without knowledge of JavaScript, it will be quite difficult for you to understand the concepts and syntax of TypeScript, and the training may take several months. In internship and job descriptions, TypeScript is usually required in conjunction with JS or its frameworks, so you should not start your programming journey with TS.
TypeScript is used to create user interfaces, frontend and backend parts of websites, and even larger business applications that require stability. Accordingly, TypeScript’s popularity is unlikely to decline much.
Golang
Popularity
Go is ranked 11th in the TIOBE rankings. It is one of the few programming languages that has become more popular over the past year: Golang gained 1.38% of the rankings.
Here is the dynamics for 14 years at once, starting from the emergence of the language.
According to RedMonk, Go is in 15th place. By the way, it held this position back in 2018, then dropped a little in the ranking and began to grow again in 2021.
Entry threshold and prospects
Golang is a good option for beginners, you can start learning it as your first programming language. The advantage of Golang is that it is Turing-complete, relatively simple and concise.
At the same time, projects can be written in Go in a variety of ways – from minimalist bots to complex, high-load server systems. In general, it is considered a general-purpose language, but its main application is the development of web services and client-server applications.
Go has been used to develop tools for containerization of Kubernetes and Docker, a console application GitHub CLI, and a database for working with Prometheus tags. Go is written in the largest companies in Russia and the world, so the language has good prospects.
Ruby
Popularity
In the TIOBE rating, Ruby occupies the 18th position. At the same time, it has lost almost nothing over the year, but has not gained anything either. So Ruby remains a consistently popular programming language.
But the situation with RedMonk is different: Ruby is in 9th place in this rating. But the language has uneven dynamics: it rises in the rating, then falls again. For example, in 2012 it occupied the 5th position.
Entry threshold and prospects
It is unlikely that you will be able to learn this language from scratch; practicing coders recommend mastering the basic concepts of programming (variables, operators, data types, cycles, functions, OOP) and only then moving on to learning this language. Most often, developers come to Ruby after several years of working in any other languages.
However, it is worth learning because Ruby is a modern, constantly evolving programming language.
Ruby is used in web development (Ruby on Rails framework), creating scripts for administration, DevOps and testing, scientific computing and data processing. The server parts of web applications of Twitter, GitHub, Airbnb and Shopify were written using Ruby on Rails, so the language has good prospects for the future.
Swift
Popularity
In the TIOBE rating, the language ranks 16th. Over the year, Swift has lost one position, but remains in demand and popular.
Here is its dynamics.
According to RedMonk, Swift rose sharply from the “basement” in 2016. After which, starting in 2018, it has consistently occupied 11th place.
Entry threshold and prospects
Swift is a fairly easy language to learn. You can start developing commercial applications in about a year after you start learning it.
Swift is unlikely to lose developers in the near future, because it is the foundation of the Apple ecosystem. Swift was created to write applications for iOS, so the demand for such specialists will be consistently high.
What to choose?
For a beginner to start a career in IT, it is better to choose a language with the lowest possible entry threshold, for example Python, Go, JavaScript.
If you have a technical background, you can try to master more complex programming languages - Ruby and Java.
In any case, the main thing is that the process is engaging and you like the work. And of course, you shouldn’t give up learning a language halfway if something doesn’t work out. To maintain motivation, we recommend reading “How to Enter IT and Not Get Lost Along the Way” .
Good luck!