Рейтинг тиобе языков программирования

TIOBE Index for July 2023

This month the following changes have been made to the definition of the index:

Very Long Term History

To see the bigger picture, please find below the positions of the top 10 programming languages of many years back. Please note that these are average positions for a period of 12 months.

Programming Language 2023 2018 2013 2008 2003 1998 1993 1988
Python 1 4 8 7 12 25 19
C 2 2 1 2 2 1 1 1
Java 3 1 2 1 1 18
C++ 4 3 4 4 3 2 2 5
C# 5 5 5 8 9
Visual Basic 6 15
JavaScript 7 7 11 9 8 22
SQL 8 251 7
PHP 9 8 6 5 6
Assembly language 10 13
Fortran 19 30 27 21 13 7 3 16
Objective-C 21 17 3 42 54
Ada 25 27 19 19 16 10 5 3
Lisp 29 31 12 16 14 8 6 2
(Visual) Basic 7 3 5 3 8 6

There are 2 important remarks here:

  • There is a difference between «Visual Basic» and «(Visual) Basic» in the table above. Until 2010, «(Visual) Basic» referred to all possible dialects of Basic, including Visual Basic. After some discussion, it has been decided to split «(Visual) Basic» into all its dialects such as Visual Basic .NET, Classic Visual Basic, PureBasic, and Small Basic, just to name a few. Since Visual Basic .NET has become the major implementation of Visual Basic, it is now called «Visual Basic».
  • The programming language SQL was added to the TIOBE index in 2018 after somebody pointed out that SQL is Turing Complete. So although this language is very old, it has only a short history in the index.
Читайте также:  Системный уровень языка программирования

Programming Language Hall of Fame

The hall of fame listing all «Programming Language of the Year» award winners is shown below. The award is given to the programming language that has the highest rise in ratings in a year.

Year Winner
2022 medalC++
2021 medalPython
2020 medalPython
2019 medalC
2018 medalPython
2017 medalC
2016 medalGo
2015 medalJava
2014 medalJavaScript
2013 medalTransact-SQL
2012 medalObjective-C
2011 medalObjective-C
2010 medalPython
2009 medalGo
2008 medalC
2007 medalPython
2006 medalRuby
2005 medalJava
2004 medalPHP
2003 medalC++

Bugs & Change Requests

This is the top 5 of most requested changes and bugs. If you have any suggestions how to improve the index don’t hesitate to send an e-mail to tpci@tiobe.com.

  1. Apart from “ programming”, also other queries such as “programming with ”, “ development” and “ coding” should be tried out.
  2. Add queries for other natural languages (apart from English). The idea is to start with the Chinese search engine Baidu. This has been implemented partially and will be completed the next few months.
  3. Add a list of all search term requests that have been rejected. This is to minimize the number of recurring mails about Rails, JQuery, JSP, etc.
  4. Start a TIOBE index for databases, software configuration management systems and application frameworks.
  5. Some search engines allow to query pages that have been added last year. The TIOBE index should only track those recently added pages.

Источник

Хватит ссылаться на TIOBE

Индекс TIOBE — это показатель популярности языков программирования. Индекс обновляется раз в месяц… Важно заметить, что индекс TIOBE — это не признак лучшего языка программирования или языка, на котором написано больше всего строк кода.

Индекс можно использовать для проверки актуальности ваших навыков программирования или для принятия стратегического решения о том, какой язык программирования следует применять для создания новой программной системы.

Индекс языков программирования, помогающий выбрать язык, который нужно использовать. Похоже, полезная штука!

Как TIOBE вычисляет этот индекс? Звучит странно, но подсчитывается количество результатов поисковых движков по каждому языку программирования. Не количество выполняющих поиск людей, не количество отправляемых запросов, не эмоциональная составляющая запроса. Он полностью зависит от того бесполезного числа, которое возвращают поисковые движки. (Источник: TIOBE Index Definition.)

Чтобы создать иллюзию зависимости от данных, создатели индекса проверяют не один поисковый движок (google.com), а несколько (bing.com, google.de, google.co.in и некоторые другие). Но 25 бесполезных источников не лучше, чем один бесполезный источник.

Хотя по такому запросу в Google есть 24,9 миллиона результатов, не рекомендую программировать на этом языке.

Абсурдность TIOBE

Какой же итог мы получаем на выходе, имея такой мусор на входе?

Давайте посмотрим на общие тренды. Возможно, это позволит нам принимать стратегические решения.

В 2016 и 2017 годах обрушились линии трендов двух самых популярных языков в индексе: Java (зелёный) и C (чёрный). Java упал на 42%. У языка C всё было ещё хуже — 62%. Что произошло? Упал спрос или предложение? За их счёт не выросли никакие другие языки, возможно, мы наблюдаем признаки рецессии в отрасли разработки ПО? Стоит ли отдать приоритет переписыванию написанных на Java приложений?

Оказалось, что в 2018 году и C, и Java существенно выросли в индексе, вернувшись к своему уровню 2016 года. Полагаю, так получилось из-за изменений в алгоритме поиска Google. И надеюсь, никто не принимал решений на основании этих данных.

Возможно, вместо трендов мы должны учитывать рейтинг конкретных языков.

  • По любой подходящей метрике (будь то пул-реквесты в Github, вопросы на StackOverflow, опросы разработчиков или количество вакансий) языком номер 1 является JavaScript. Согласно TIOBE, JavaScript (7-е место) ниже, чем Visual Basic (6-е место).
  • Вероятно, вам интересно, почему Visual Basic забрался так высоко? Раньше так не было. 4 марта 2020 года его доля составляла 0,77%. Но когда мир перешёл в состояние локдауна, популярность VB взлетела до небес. 29 дней спустя он вырос в шесть раз, достигнув 4,72%, и с тех пор продолжал расти. (Кстати, подтвердить этого не может ни один другой источник. Ни тренды Google Search, ни вопросы на StackOverflow, ни что-либо иное. Что это произошло, считает только TIOBE.)
  • Чтобы ощутить абсурдность этого, для контекста сообщим, что Visual Basic вдвое лучше языков Swift (1,27%) и Objective-C (0,94%) вместе взятых. Вся экосистема iOS, iPadOS, watchOS и macOS вполовину меньше могучей экосистемы Visual Basic.
  • Язык ассемблера (8-е место) находится или слишком высоко, потому что никто не программирует на нём, или слишком низко, ведь разве в конечном итоге всё программирование не сводится к ассемблеру? Как бы то ни было, рейтинги ошибочны.
  • К сожалению, рынок программирования на Logo (48-е место) очень сузился. Во времена своего расцвета в TIOBE он находился на 21-м месте. Это язык программирования, на котором нужно двигать черепашку по экрану.

Возможно ли, что при полностью неверных результатах индексу всё равно удаётся делать правильные прогнозы? И снова нет. В отчёте TIOBE за март 2012 года высказывается пессимизм относительно Go — популярного в 2022 году языка программирования. Также низко в рейтингах оказался Python, сегодня по любым метрикам находящийся в тройке лидеров.

Любопытно, что старых отчётов с неудачными прогнозами на сайте индекса не найти.

Выбор языков для проектов

К счастью, существуют более подходящие способы для оценки языков.

Нужно смотреть на то, насколько они технически подходят к проектам.

  • Можно ли нанять/обучить разработчиков для работы с ним?
  • Будут ли они рады писать на нём?
  • Какой будет скорость разработки на этом языке? Какими будут эксплуатационные издержки от выполнения кода в продакшене?
  • Нужно ли нам будет использовать сторонний код? Существует ли этот код и насколько он качественный?

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

Прогнозировать будущее сложно, но вы можете обратить внимание на:

  • Опросы разработчиков
    • StackOverflow Annual Survey — самые используемые, любимые и желанные для работодателей языки.
    • JetBrains — самые популярные и быстрорастущие языки.
    • State of the Octoverse — самые популярные языки.
    • количество пул-реквестов Github по языкам программирования
    • Сравнение Java, C++, C и Python
    • Сравнение Kotlin, Rust, TypeScript и Swift
    • Сравнение Java, C++, C и Python
    • Сравнение Kotlin, Rust, TypeScript и Swift

    Как выбирать языки разработчику

    В отличие от проекта, в котором нужно выбрать язык и придерживаться его, вам это делать необязательно. Если вы привязали себя к одному языку, откажитесь от этого. Вы разработчик, а не «разработчик на языке X».

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

    Если вы работали с языками, где есть сборка мусора, то попробуйте изучить язык, где есть ручная работа с памятью, и наоборот. Если вы в основном работали с императивными языками, попробуйте язык, в котором используются функциональные конструкции, и наоборот. Анализируйте известные вам языки и пробуйте те, которые предлагают что-то отличающееся.

    Но что бы вы ни делали, не принимайте решение на основании количества результатов в Google.

    В комментарии на Reddit мне указали на другие статьи с критикой TIOBE. В них объясняется, почему в этом индексе так высоко находятся малоизвестные языки наподобие Delphi (14-е место). Так получилось, потому что сообщество разработчиков на Delphi приложило много усилий для манипуляций с рейтингами TIOBE. Молодцы, ребята. [Прим. пер.: автор опубликованного в 2008 году поста для накрутки популярности рейтинга языка включал ключевые слова про него в личные блоги, посты на форумах и призывал других заниматься подобным.]

    Источник

    Лучший язык программирования: рейтинг TIOBE 2022

    Обложка: Лучший язык программирования: рейтинг TIOBE 2022

    На днях у нас прошёл батл языков программирования 2022, и настало время обратиться к рейтингам TIOBE.

    Напомним, что индекс TIOBE оценивает популярность языков программирования, основываясь на поисковых запросах, которые содержат тот или иной язык. Для формирования индекса используются такие ресурсы, как Google, YouTube, Amazon, Wikipedia, Yahoo!, Bing и Baidu.

    Python, C и C++ соревнуются за звание лучшего языка

    Именно таковы результаты по состоянию на конец декабря — двадцать языков программирования с наибольшей рыночной долей по версии TIOBE:

    Рейтинг языков программирование TIOBE 2022

    Ещё в прошлом году Java уверенно держалась в тройке, но теперь уступила своё место «плюсам». Любопытно, что в последний раз C++ становился лидером рейтинга TIOBE в далёком 2003 году, и это впервые, когда данный язык программирования обошёл Java по поисковым запросам. При этом Java входила в топ-3 свыше двадцати лет, начиная с 2001.

    Уже в следующем месяце мы узнаем имя победителя. Каждый из лидирующей тройки уже занимал первое место по итогам года:

    1. C++ — 1 раз (2003).
    2. C — 3 раза (2008, 2017, 2019).
    3. Python — 5 раз (2007, 2010, 2018, 2020, 2021).

    Пара слов о других языках

    Помимо прочего, мы видим, как Kotlin и Julia приближаются к топ-20, JavaScript держится в семёрке, а PHP вырывается в десятку, тогда как в прошлом году занял 12-е место.

    Интересно, что Go поднялся аж на 7 позиций и теперь занял 12-е место рейтинга. Стоит отметить, что по версии GitHub за третий квартал 2022 Golang также находится на четвёртом месте по популярности, обогнав при этом PHP, C, C#, Ruby, TypeScript и JavaScript. Тенденция налицо:

    Рейтинг языков программирование GitHub 2022

    На 18-е место рейтинга TIOBE вернулся Perl. Rust удерживает 20 позицию. Что касается Delphi, то он всю осень прыгал туда-сюда:

    В декабре же язык опустился на 16 место (0.85%), что соответствует результатам декабря прошлого года.

    Выводы

    Разумеется, рейтинг языков программирования 2022 TIOBE сложно назвать объективным, так как он рассматривает лишь один аспект — популярность ЯП в поисковых запросах пользователей. Он не отражает реальный рыночный спрос или количество написанного кода, как это делает GitHub в своих отчётах на основе проектов.

    Тем не менее, индекс TIOBE можно использовать, чтобы проверить, актуальны ли ваши навыки, или принять решение о том, на какой язык программирования можно перейти или какой следует использовать при написании новой программы.

    Источник

Оцените статью