Смартфоны много лет назад стали хитом, а за ними последовали языки программирования мобильных приложений. Достигший пика на третьей позиции Objective-C использовался только для iPhone. Сегодня ту же картину мы видим в Data Mining и искусственном интеллекте: языки программирования в этих областях переживают бум.  Ярчайший пример — Python, отвоевавший вторую позицию у Java. Благодаря этому возродился Fortran, но не только он. Подробности, которыми делимся к старту флагманского курса по Data Science, читайте под катом. Удивительнее прорыва Fortran то, что спустя 15 лет снова входит в первую двадцатку Prolog. Неожиданное возвращение! Этот язык задействован в одном из самых известных движков ИИ — Watson от IBM. Единственное исключение — теряющий некоторые позиции R. Долю его рынка, по мнению генерального директора TIOBE Пола Янсена, съедает Python. Другие интересные события месяца: Rust переместился с #27 на #24, а Julia — с #35 на #26. Янсен считает, что они оба — сильные кандидаты на постоянное место в топ-20. Индекс TIOBE — это обновляемый раз в месяц показатель популярности языков программирования. Рейтинги основаны на количестве квалифицированных инженеров по всему миру, курсах и сторонних поставщиках. Для расчёта используются популярные поисковые системы, такие как Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube и Baidu. Важно отметить, что наш индекс — это не рейтинг лучших языков программирования или языков с большим числом строк кода. Воспользоваться им можно, чтобы проверить актуальность ваших навыков программирования или принять стратегическое решение, какой язык взять на вооружение в новом проекте. Полное определение индекса TIOBE вы найдёте здесь. Полный список 50 лучших языков программирования приведён ниже. Этот обзор публикуется неофициально, потому что мы могли пропустить какой-то язык. Если у вас сложилось такое впечатление, пожалуйста, сообщите нам об этом. Ознакомьтесь также с обзором всех языков программирования: Следующий список — с 51 по 100. Поскольку различия относительно невелики, языки перечислены в алфавитном порядке. ActionScript, Alice, Arc, Awk, B4X, bc, BCPL, Bourne shell, CFML, CL (OS/400), Clipper, CLIPS, Common Lisp, Eiffel, Elixir, Elm, Forth, Fortress, Haskell, Icon, Inform, Io, J#, Korn shell, LiveCode, Maple, Modula-2, MQL4, MUMPS, NATURAL, NXT-G, Oberon, OCaml, Occam, OpenEdge ABL, PL/I, PostScript, PowerShell, Pure Data, Q, REXX, Ring, RPG, Simulink, Smalltalk, Solidity, SPARK, Stata, Uniface, Xojo. Чтобы увидеть общую картину, посмотрите на топ-10 языков программирования много лет назад. Пожалуйста, обратите внимание, что это средние позиции за 12 месяцев: Есть 2 важных замечания. Между «Visual Basic» и «(Visual) Basic» есть разница. До 2010 года «(Visual) Basic» означал все диалекты Basic, включая Visual Basic. После обсуждения было решено разделить «(Visual) Basic» на все его диалекты, такие как Visual Basic .NET, Classic Visual Basic, PureBasic и Small Basic, и это лишь некоторые из них. Сейчас Visual Basic .NET стала основной реализацией Visual Basic, теперь она называется «Visual Basic». Языка программирования SQL долгое время не было в индексе TIOBE. В 2018 году кто-то указал, что SQL — Тьюринг-полный язык. С этого момента SQL — часть индекса TIOBE. Таким образом, хотя этот язык очень стар, в индексе он имеет короткую историю. Ниже приведён список всех «Языков программирования года» в зале славы. Награда присуждается языку программирования, который выше других поднялся в рейтинге за год. Ниже топ-5 востребованных изменений и ошибок. Если у вас есть предложения, как улучшить индекс, без колебаний отправьте письмо. Помимо «programming» есть запросы «programming with <lang>», «<lang> development» и «<lang> coding», их нужно учитывать. Добавьте запросы не на английском языке. Идея — начать с китайской поисковой системы Baidu. Эта работа завершится в ближайшие несколько месяцев. Добавьте список всех отклонённых запросов на изменение, чтобы свести к минимуму количество повторяющихся писем о Rails, JQuery, JSP и т. д. Введите индекс TIOBE среди баз данных, систем управления конфигурацией ПО и фреймворков приложений. Некоторые поисковые системы позволяют запрашивать добавленные в прошлом году страницы. Индекс должен отслеживать только недавно добавленные страницы. Вопрос: Разрешено ли мне показывать индекс TIOBE в моём блоге/презентации/публикации? Ответ: Да, единственное условие — ссылка на первоисточник — www.tiobe.com Вопрос: Как я могу номинировать новый язык на включение в индекс? Ответ: Если язык соответствует критериям включения в список (он Тьюринг-полный и о нём есть статья на Wikipedia, указывающая, что он относится к языкам программирования, а также он достаточно популярен (более 5000 просмотров по запросу «<lang> programming»), пожалуйста, напишите нам электронное письмо. Вопрос: Я хотел бы иметь весь набор данных индекса TIOBE. Возможно ли это? Ответ: Мы потратили много сил, чтобы получить все данные и поддерживать индекс TIOBE в актуальном состоянии. Чтобы немного компенсировать это, мы просим плату в размере 5000 долларов США за полный набор данных. Набор охватывает период с июня 2001 года по сегодняшний день. Он начался с 25 языков ещё в 2001 году и сегодня включает более 150 языков, индексируемых раз в месяц. Данные доступны в формате, разделённом запятыми. Чтобы узнать больше, пожалуйста, напишите нам. Вопрос: Почему для расчёта рейтинга группы используется максимум, а не сумма? Ответ: Можно сделать иначе, но оба подхода ошибочны. Взяв сумму, вы получите пересечение дважды. Взяв максимум, мы упускаем разницу. Что выбрать? Предположим, кто-то придумает новый поисковый запрос, который составляет 10 % от исходного. Если вы возьмёте максимум, ничего не изменится. Если взять сумму, то рейтинги вырастут на 10 %. Таким образом, получение суммы будет стимулом придумать всевозможные непонятные запросы. Вот почему мы решили взять максимум. Правильный подход — взять сумму и вычесть пересечение. Это приведёт к взрыву дополнительных запросов. Предположим, что в языке есть группа из 15 терминов, тогда вам нужно выполнить 32 768 запросов (все комбинации пересечений). Так что это также кажется невозможным… Если у кого-то есть решение, пожалуйста, дайте нам знать. Вопрос: Что случилось с Java в апреле 2004 года? Вы изменили методологию? Ответ: Нет, в то время мы не меняли нашу методологию, но свою методологию изменил Google. Они провели общую проверку, чтобы избавиться от всех видов брошенных веб-сайтов и произошло огромное падение таких языков, как Java и C++. Чтобы свести к минимуму такие колебания, спустя несколько месяцев мы добавили поисковые системы Yahoo! и MSN. С февраля 2003 года Python не опускался в индексе TIOBE ниже 13 места, а весь рейтинг указывает на стабильно большой интерес к искусственному интеллекту. Если вы хотите работать с ИИ или данными, предлагаем присмотреться к программе нашего курса по науке о данных, а если вам интереснее Python в целом, то вы можете обратить внимание на курс Fullstack-разработки на этом языке; также можно узнать, как прокачаться или начать карьеру в других направлениях IT: Data Science и Machine Learning Профессия Data Scientist Профессия Data Analyst Курс «Математика для Data Science» Курс «Математика и Machine Learning для Data Science» Курс по Data Engineering Курс «Machine Learning и Deep Learning» Курс по Machine Learning Python, веб-разработка Профессия Fullstack-разработчик на Python Курс «Python для веб-разработки» Профессия Frontend-разработчик Профессия Веб-разработчик Мобильная разработка Профессия iOS-разработчик Профессия Android-разработчик Java и C# Профессия Java-разработчик Профессия QA-инженер на JAVA Профессия C#-разработчик Профессия Разработчик игр на Unity От основ — в глубину Курс «Алгоритмы и структуры данных» Профессия C++ разработчик Профессия Этичный хакер А также: Курс по DevOps