Найти тему
Визуализация

Анализ причин популярности языков программирования по данным TIOBE за февраль 2020 года

Оглавление

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

Я решил исправить этот недочет.

Вот круговая диаграмма, построенная мной по данным TIOBE:

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

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

1. Java

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

2. С

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

3. Python

Профессиональные программисты называют Python лучшим "вторым языком" за его универсальность и скорость разработки. Людей, которые пользуются Python, не имея прямого отношения к программированию, язык привлекает своей простотой и близостью к человеку, благодаря своей высокоуровневости. Это позволяет непрограммистам сфокусироваться на своей предметной области не отвлекаясь на детали реализации компьютеров.

4. С++

Не знаю почему C++ популярен. Собственный опыт работы с ним мал, а объяснения в других источниках я не нашел. Могу предположить что когда-то, при отсутствии подходящих альтернатив язык предложил больше возможностей чем С, оставаясь близким к железу и достаточно быстрым и на нем написали много кода, который теперь вынуждены поддерживать. Кто-то к нему привык. Этакая инерция разогнанного поезда. Пишите в комментариях свое мнение и я, возможно, изменю этот пункт.

5. C#

C# несмотря на то что создан с учетом ошибок, которые присутствуют в C++ популярен не за это. C# популярен благодаря его использованию и поддержке гигантом IT - фирмой Microsoft. Microsoft разрабатывает среды исполнения языка которые работают на ее собственных операционных системах семейства Windows.

6. VisualBasic

Причины популярности те же что и у языка под пунктом выше.

7. JavaScript

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

Причина популярности - поддержка браузерами стандарта и отсутствие альтернатив. Стал популярен после становления AJAX. Последний стандарт ECMA попытался улучшить текущее положение дел с языком, но из-за необходимости преемственности и поддержки старой версии языка, коренных изменений не произошло.
Основной разработчик языка Брендон Айх даже написал статью, в которой он попытался объяснить причины, которые повлияли на то, что JavaScript получился таким странным.
Впрочем, его объяснения не были для меня убедительны, так как их суть сводилась к тому, что сама среда исполнения обязала сделать JavaScript таким несуразным. Айх сообщил что если бы он засунул в браузеры любимый многими Python, изуродовав его, то любители последнего возненавидели бы Брендона еще больше. Звучит как угроза ))

Недостатки языка подтверждаются количеством трасляторов в JavaScript с других языков и даже разработка специальных языков, траслирующихся в JavaScript. Примеры: CoffeeScript, Еlm... Что только не придумают, чтобы не писать на самом JavaScript.

К сожалению, заменители JavasScript не освобождают от изучения последнего.

8 ?

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

Остальные языки

Оставшиеся языки можно условно раздедлить на четыре категории:

1 категория

Языки поддерживают популярность благодаря своим покровителям в виде крупных корпораций. Примеры: Swift от Apple и Go от Google.

2 категория

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

Примеры:

Perl (силен в работе с текстом) Регулярные выражения - его конёк.

Ruby (сильный уклон в сторону web-разработки) Если бы не было веб-фреймворка Ruby on Rails - язык бы не вошел в топ 20 рейтинга. Инфа - 99%.

SQL - (язык запросов к базам данных) - такой же труднозаменимый стандарт как JavaScript, но в отличии от последнего очень хорошо продуман и интуитивен. Не является тьюринг-полным.

R - как язык для статистики. Больше распространен в научных учреждениях. Вне институтов власть в статистике захватил Python. И это не смотря на то, что последний пока еще уступает R в плане функциональности для статистики.

MATLAB - язык для математики. Автор имел удовольствие пользоваться им для написания формул.

Assembly language - язык для низкоуровневого программирования. Сейчас он в значительной степени вытеснен языком C. Даже для очень ограниченных в памяти и быстродействии чипов на языке С можно написать более эффективную программу чем на языке ассемблера когда кода на последнем становиться много. В какой-то момент работы человек уже не способен сохранять код эфффективным, и язык более высокого уровня берет эту задачу на себя. Несмотря на падение спроса на ассемблерные языки, они, вероятно, еще очень долго будут жить,так как дают полный контроль над железом. Возможно, будут жить пока живут люди и пока у них есть компьютеры.

3 категория

Новые языки и языки, которые только набирают популярность;

4 категория

Языки, которые потеряли популярность.

В России

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

Ставьте лайки, подписывайтесь на канал и пишите в коментариях на какую тему сделать новую визуализацию. Удачи!

P.S. Кто угадает язык под номером 8?