Найти в Дзене
letsCode

Ложь рейтингов популярности языков программирования

Индеск TIOBE за период 2002-2018 года
Индеск TIOBE за период 2002-2018 года

Часто в интернете попадаются статьи с громким заголовком "Python стал самым популярным языком программирования", "Java отвоевала первое место у Си" и подобные. Все эти статьи опираются на несколько популярных индексов, ранжирующих популярные языки на основании каких-либо критериев. Многие начинающие (да и зрелые тоже) программисты болезненно воспринимают такие статьи, опасаясь остаться не у дел на рынке труда.

Давайте разберёмся, как считаются эти индексы и почему верить им стоит лишь отчасти.

Все индексы считаются от разных показателей. Например, два наиболее известных: TIOBE (https://www.tiobe.com/tiobe-index/) и PYPL (http://pypl.github.io/PYPL.html) меряют популярность гуглом, а точнее - поисковыми запросами. Вот только считают они разные запросы: TIOBE учитывает все запросы, связанные с языком программированиия, а PYPL считает только запросы, связанные с поиском учебников по языкам. Какой из индексов точнее - тот еще холивар. Мне кажется, что оба показывают погоду, вместо хоть сколько-нибудь точных данных (пример почему я так считаю - ниже)

Остальные же индексы строятся от тех данных, которыми распологает составитель индекса: рекрутинговые ресурсы считают от количества резюме и вакансий (https://habr.com/ru/company/hh/blog/418079/), GitHub (https://octoverse.github.com/projects#languages) от количества репозиториев с данным языком программирования (абсолютно игнорируя факт того, что Java и C# большую часть кода хранят в приватных репозиториях), StackOverflow (https://insights.stackoverflow.com/survey/2019) составляет индекс популярности основываясь на количестве вопросов по языкам программирования на самом StackOverflow (опять-таки игнорируя количество просмотров уже заданных вопросов) и так далее.

Все эти индексы могут быть достоверны лишь в каком-то определённом моменте и лишь отчасти. Например, индекс популярности от heroku будет показывать бОльшую долю Ruby на рынке из-за того, что ресурс исторически возник, как облако для проектов на Ruby on Rails, а Microsoft Azure покажет доминирование платформы .net по тем же причинам, усиливая это коммерческими интересами (да и на лжи данную корпорацию ловили уже не раз).

Пример влияния момента на все эти индексы

В языке Python зарелизили механизм описания асинхронного исполнения кода в стандартной библиотеке, у программистов, кто откладывал изучение механизма до релиза сразу возникла масса вопросов, с коими они попёрли на StackOverflow. Практически каждый программист, при изучении новой технологии создаёт какой-то простой pet project, который он вероятнее всего положит например на GitHub. Естественно, все они дружно будут искать учебные материалы в поисковых системах, включая Google, в том числе со словами "учебник", "книга" и "инструкция".

Результат - скачёк всех индексов, показывающий рост популярности языка, при том, что существенного прироста пользовательской базы не произошло, просто существующие пользователи начали генерировать больше контента под релиз.

Еще пример

В нашем телеграм чате (https://t.me/letsCodeChat), в самом начале его существования, был 1 человек, который генерировал 90% суточных вопросов. Причём делал это с потрясающей скоростью и частотой, чем доводил до паники остальных участников чата. Если абстрагироваться от имён, то получалось, что 90% участников чата совершенно не понимали базовых принципов разработки web приложений. Но мы же не можем заявить, что большая часть зрителей канала абсолютно не понимает этих самых принципов.

Заключение

Вся эта масса текста с примерами приводится только с одной целью: не надо всерьёз воспринимать новости о том, что ваш любимый язык программирования теряет или набирает популярность. Приглядитесь внимательно: а не было ли последнее время какого-то релиза или нового тренда, который мог вызвать волну интереса к растущей технологии. Стремительный рост интереса к Python в последние годы по индексу PYPL легко можно объяснить всего лишь хайпом: большие данные, к которым у python есть библиотека Pandas, и возвращение интереса к искуственному интеллекту у масс. Очень большое количество аналитиков стремительно гуглит учебники с поисковой строкой вроде "python pandas tutorial" или "python tensor flow tutorial", при том, что основы python большинство из них давно знает. В то же время новости от GitHub о гиганском количестве репозиториев на JavaScript вызвано всего лишь идеологией данного языка: разработчики каждую мелкую решённую проблему стараются оформить в библиотеку и выложить в открытый доступ, для чего идеально подходит GitHub.

В общем, коллеги, не ведитесь на громкие заголовки и живите здравым смыслом и делите слухи на десять. Тот же Cobol до сих пор востребован и специалисты по нему зарабатывают хорошие деньги, хотя мёртвым его объявляют ежегодно уже порядка двадцати лет. Подходите к выбору изучаемых технологий не с точки зрения "растёт по индексам", а с точки зрения "интересен и полезен".

Пишите код и учитесь вместе с каналом LetsCode

Приходите общаться и учиться программированию на наш канал и прочие ресурсы:

➡ YouTube: https://www.youtube.com/letsCodeDru

➡ Второй канал: https://www.youtube.com/geekChatDru

➡ Twitch: https://www.twitch.tv/drucoder

➡ Наш Тви: https://twitter.com/letsCodeDru

➡ Чат в Телеграм: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw

➡ Канал в Телеграм: https://t.me/letsCode_dru

➡ Сервер Discord: https://discord.gg/xs6XxSx

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Документы, вакансии и контакты