- PVSM.RU - https://www.pvsm.ru -
Индекс TIOBE — это показатель популярности языков программирования. Индекс обновляется раз в месяц… Важно заметить, что индекс TIOBE — это не признак лучшего языка программирования или языка, на котором написано больше всего строк кода.
Индекс можно использовать для проверки актуальности ваших навыков программирования или для принятия стратегического решения о том, какой язык программирования следует применять для создания новой программной системы.
Источник: tiobe.com [1].
Индекс языков программирования, помогающий выбрать язык, который нужно использовать. Похоже, полезная штука!
Как TIOBE вычисляет этот индекс? Звучит странно, но подсчитывается количество результатов поисковых движков по каждому языку программирования. Не количество выполняющих поиск людей, не количество отправляемых запросов, не эмоциональная составляющая запроса. Он полностью зависит от того бесполезного числа, которое возвращают поисковые движки. (Источник: TIOBE Index Definition [2].)
Чтобы создать иллюзию зависимости от данных, создатели индекса проверяют не один поисковый движок (google.com), а несколько (bing.com, google.de, google.co.in и некоторые другие). Но 25 бесполезных источников не лучше, чем один бесполезный источник.
Хотя по такому запросу в Google есть 24,9 миллиона результатов, не рекомендую программировать на этом языке.
Какой же итог мы получаем на выходе, имея такой мусор на входе?
Давайте посмотрим на общие тренды. Возможно, это позволит нам принимать стратегические решения.
В 2016 и 2017 годах обрушились линии трендов двух самых популярных языков в индексе: Java (зелёный) и C (чёрный). Java упал на 42%. У языка C всё было ещё хуже — 62%. Что произошло? Упал спрос или предложение? За их счёт не выросли никакие другие языки, возможно, мы наблюдаем признаки рецессии в отрасли разработки ПО? Стоит ли отдать приоритет переписыванию написанных на Java приложений?
Оказалось, что в 2018 году и C, и Java существенно выросли в индексе, вернувшись к своему уровню 2016 года. Полагаю, так получилось из-за изменений в алгоритме поиска Google. И надеюсь, никто не принимал решений на основании этих данных.
Возможно, вместо трендов мы должны учитывать рейтинг конкретных языков.
И так можно продолжать долго. Можно задаться вопросом, почему TypeScript чахнет на 37-м месте, сильно отставая от Delphi/Object Pascal (14-е место) и Scratch (21-е место). Но вы поняли принцип — всё это может иметь смысл только по случайности.
Возможно ли, что при полностью неверных результатах индексу всё равно удаётся делать правильные прогнозы? И снова нет. В отчёте TIOBE за март 2012 года [5] высказывается пессимизм относительно Go — популярного в 2022 году языка программирования. Также низко в рейтингах оказался Python, сегодня по любым метрикам находящийся в тройке лидеров.
Любопытно, что старых отчётов с неудачными прогнозами на сайте индекса не найти.
К счастью, существуют более подходящие способы для оценки языков.
Нужно смотреть на то, насколько они технически подходят к проектам.
Только ваша команда может ответить на эти вопросы. Это зависит от ваших бизнес-задач, от местного рынка труда и вашего бюджета на разработку. Если вы наняли умных людей, они смогут в этом разобраться.
Чуть в меньшей степени вашей команде нужно учитывать долговременные тенденции. В будущем язык тоже должен хорошо подходить технически. Будет плохо, если вы можете найти разработчиков сегодня, но спустя несколько лет вам придётся умолять программистов вернуться с пенсии [6].
Прогнозировать будущее сложно, но вы можете обратить внимание на:
В отличие от проекта, в котором нужно выбрать язык и придерживаться его, вам это делать необязательно. Если вы привязали себя к одному языку, откажитесь от этого. Вы разработчик, а не «разработчик на языке X».
Постепенно расширяйте свой инструментарий. Ваш любимый язык программирования не сможет решить любую задачу, с которой вы столкнётесь
в будущем, поэтому периодически учите новые. Если у вас в руках только молоток, всё начинает казаться гвоздями.
Если вы работали с языками, где есть сборка мусора, то попробуйте изучить язык, где есть ручная работа с памятью, и наоборот. Если вы в основном работали с императивными языками, попробуйте язык, в котором используются функциональные конструкции, и наоборот. Анализируйте известные вам языки и пробуйте те, которые предлагают что-то отличающееся.
Но что бы вы ни делали, не принимайте решение на основании количества результатов в Google.
Автор:
PatientZero
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/377628
Ссылки в тексте:
[1] tiobe.com: https://www.tiobe.com/tiobe-index/
[2] TIOBE Index Definition: https://www.tiobe.com/tiobe-index/programminglanguages_definition/
[3] тренды Google Search: https://trends.google.com/trends/explore?date=2012-07-31%202022-07-29&geo=GB&q=%2Fm%2F01dpgv,%2Fm%2F080_2,%2Fm%2F01dpgv
[4] вопросы на StackOverflow: https://insights.stackoverflow.com/trends?tags=vb6%2Cvb.net%2Cvba%2Cvbscript
[5] отчёте TIOBE за март 2012 года: https://vdocuments.net/tiobe-programming-community-index-for-march-2012.html
[6] умолять программистов вернуться с пенсии: https://arstechnica.com/tech-policy/2020/04/ibm-scrambles-to-find-or-train-more-cobol-programmers-to-help-states/
[7] StackOverflow Annual Survey: https://survey.stackoverflow.co/2022/#technology-most-popular-technologies
[8] JetBrains: https://www.jetbrains.com/lp/devecosystem-2021/
[9] State of the Octoverse: https://octoverse.github.com
[10] количество пул-реквестов Github по языкам программирования: https://madnight.github.io/githut/#/pull_requests/2022/1
[11] Java, C++, C и Python: https://insights.stackoverflow.com/trends?tags=java%2Cc%2B%2B%2Cc%2Cpython
[12] Kotlin, Rust, TypeScript и Swift: https://insights.stackoverflow.com/trends?tags=kotlin%2Crust%2Ctypescript%2Cswift
[13] Java, C++, C и Python: https://trends.google.com/trends/explore?date=2012-07-31%202022-07-29&geo=GB&q=%2Fm%2F07sbkfb,%2Fm%2F0jgqg,%2Fm%2F01t6b,%2Fm%2F05z1_
[14] Kotlin, Rust, TypeScript и Swift: https://trends.google.com/trends/explore?date=2012-07-31%202022-07-29&geo=GB&q=%2Fm%2F0_lcrx4,%2Fm%2F0dsbpg6,%2Fm%2F0n50hxv,%2Fm%2F010sd4y3
[15] комментарии на Reddit: https://old.reddit.com/r/programming/comments/we8kxc/please_stop_citing_tiobe/iiodc11/
[16] сообщество разработчиков на Delphi приложило много усилий для манипуляций с рейтингами TIOBE: http://delphi.org/2008/10/delphi-keeps-climbing/
[17] Источник: https://habr.com/ru/post/680636/?utm_source=habrahabr&utm_medium=rss&utm_campaign=680636
Нажмите здесь для печати.