The programming sphere resembles a landscape with a mosaic of languages and frameworks, making it challenging to determine which path to take. Every resource and blog advocates for its "timeless" or "modern" language of the future, praising its numerous libraries and community support. The information noise has created the illusion of an endless battle, turning development paths into mirages for any aspiring developer. This confusion leads newcomers to make choices without fully understanding the true capabilities of each stack. So, is it worth paying attention to these disputes and recommendations?
As in all IT domains, development has its discernible trends. The primary one is the frequent shift in the "popular" programming language, which scares young professionals into making the wrong choice. To understand its origin, let's turn to the sources of popularization.
WHO UNLEASHED THE INVISIBLE BATTLE
Agencies and Freelancers
In every development service company, there is a prioritized programming language. Initially, the CEO might code in it themselves and then select specialists whose skills are easier to verify. In other agencies, the leading language becomes the one most employees are currently using. New organizations prefer to study market demand and form a team based on current needs. In any case, when advertising their services, the company highlights the advantages of its stack, emphasizing the dominant one. Freelancers do the same, often operating with a single programming language. In simpler terms, what we work with is considered the best.
Community Activists
There are separate community platforms for languages and frameworks where developers communicate and help each other. Going beyond the like-minded environment, active supporters of one language "attack" programmers who think differently. Without delving into another stack, they write laudatory posts and comments about their own, trying to belittle everything that doesn't fit into it.
Rankings
Trusting numbers is right, but blindly believing them all is not advisable. This conclusion can be reached by looking at not just one, but ten programming language rankings. One ranking is based on search queries, another on a survey of fewer than 100,000 developers, the third on the number of repositories, and the fourth is simply the author's opinion. Ranking metrics don't consider the number of digital products in the language or the actual number of programmers working on it. Nothing from life—pure virtuality. All they can indicate is which languages are currently more discussed.
Python, JavaScript, Java, C#, PHP, Go, Ruby, Swift, Kotlin, Rust
Programming Courses
Online schools spare no effort in providing detailed descriptions of programming languages included in their curriculum. If a language is not mentioned, it automatically becomes "morally outdated" and unnecessary. However, any teaching method of coding is considered modern and in demand, contributing to the illusory battles. Internet courses care only that you choose one, they put up template advertisements and promises, without considering that they might lead a beginner to a mistaken view of programming and subsequent career stagnation.
Job Search and Employee Platforms
On platforms like hh.ru, you can track the actual demand for programming languages. For statistics, it's enough to compare the number of job vacancies and resumes. However, a high demand for Python developers at present doesn't guarantee that the number of candidates for the position won't reach a critical level in six months. At the same time, there might be a shortage of PHP developers, significantly increasing the chances of quickly finding a job.
HOW TO CHOOSE YOUR PROGRAMMING LANGUAGE
When obtaining a relevant higher education, it is much easier for a future developer to make a decision than for an amateur programmer. Partly, it is predetermined by the education itself, during which students get acquainted with 3-4 languages. If you want to delve deep into one programming language for the first time, limit yourself to those that are well-known to avoid confusion. Study the introductory theory for each and try coding on them. After that, choose the one you liked independently.
You can also consider the stack of the company you want to work for. For example, Yandex requires developers in Python, C++, Java, Go. However, both Yandex and other organizations prefer specialists with experience. In current conditions, it's challenging to say whether the vacancies will still be relevant by the time you accumulate the necessary skills and experience.
A practical method is to analyze the demand in the job market. Look at both job vacancies and resumes. For example, at the time of writing this article, Kotlin has 6 times fewer vacancies on hh.ru compared to Python. However, for 1 vacancy requiring knowledge of mobile development language, there are 15 applicants, and for web development, there are 24. This indicates higher competition among Python developers. Overall, as of the beginning of 2024, GO specialists are the most in demand and scarce: 8 candidates for 1 position. But in a year or two, a completely different language may rise to the top, reducing the demand for others.
As you've already understood, there has never been any real battle. Personal preference, forced work on a specific stack, the emergence of projects and improvement of old ones, version updates, and new plugins – that's what influences the popularity of a programming language in a certain period. Therefore, when choosing, don't get fixated on the "absolute best".
The choice of a programming language often confronts those who plan to take IT courses and quickly master the profession. When obtaining a comprehensive programmer education, a young specialist understands the nuances of languages. They practice and settle on what is more convenient for them to work with. For beginners who decide to learn programming in six months, we advise first reading the article "The Truth About the Shortage of IT Specialists and Recruiter Refulsals".