В любой профессии есть пакет инструментов, которые используются изо дня в день. В IT это язык программирования и среда разработки. Зачастую именно исходя из них студенты выбирают направление деятельности. Причем главным аргументом выступает не удобство, а практический интерес — что проще изучить и носители какого программного языка наиболее востребованы на рынке. Мы попробовали разобраться в этом самостоятельно, но от вашей оценки в комментариях тоже не отказываемся. Так получится сделать картину объективной.
TIOBE
Один из самых популярных источников, ежемесячно публикующий рейтинг популярности языков программирования, в июле выпустил очередной топ-лист:
- Java.
- C.
- Python.
- C++.
- C#.
- Visual Basic .NET.
- JavaScript.
- PHP.
- SQL.
- Objective-C.
Для тех, кто незнаком с тем, как составляется этот рейтинг, — краткий ликбез. За основу берутся запросы в поисковых системах, в том числе из социальных сетей. Отсеиваются аномальные пики, локальные поисковики (например, из КНР) и данные систем, имеющих низкий рейтинг доверия из-за количества багов, взломов и подобного. Кроме того чтобы попасть в этот топ популярных языков программирования, он должен обязательно иметь страницу в Википедии — своеобразный тест на полноту.
На первый взгляд, рейтинг может показаться объективным. Но есть несколько важных доводов, почему это не показатель реальной востребованности.
-
Языки, которые изучаются в школах и вузах, имеют конкурентное преимущество. Ученики и студенты чаще «гуглят», а по численности они едва ли уступают готовым профессионалам.
-
В некоторых случаях система полностью игнорирует поисковики отдельных стран. В частности, за Рунет отвечает только Google.ru. Данные с Mail.ru и Яндекса учитываются в пределах статистической погрешности.
-
Сложность языка тоже играет роль — чем он проще и чем лучше документация, тем меньше люди обращаются к поиску в интернете.
То есть формально на вершине хит-парада TIOBE может оказаться условный Basic, если вместе с материалами курса студентам будут говорить, какой поисковой системой пользоваться при выполнении домашних заданий.
PYPL
Измеряет популярность языков аналогичным образом, но ограничивается лишь системами Google и не ранжирует их по странам. Вот как выглядит этот рейтинг в июле:
- Python.
- Java.
- JavaScript.
- C#.
- PHP.
- C/C++.
- R.
- Objective-C.
- Swift.
- Matlab.
Несмотря на похожие с TIOBE методы анализа, рейтинги языков программирования заметно отличаются. В первую очередь надо обратить внимание на лидерство Python. Как утверждает портал, на сегодняшний день это наиболее стремительно развивающийся язык, в то время как Java движется в обратном направлении. Даже график есть:
Минусы в подсчете рейтингов PYPL и TIOBE близки, но динамика изменения позиций со временем в первом прослеживается куда лучше.
GitHub
Самый популярный и авторитетный портал для работы с кодом тоже составляет рейтинги языков, но только по годам. Подсчет ведется по количеству размещенных исходников за последние 12 месяцев. Рейтинг, опубликованный в начале 2019 года:
- JavaScript.
- Java.
- Python.
- PHP.
- C++.
- C#.
- TypeScript.
- Shell.
- C.
- Ruby.
Большое влияние на рейтинг GitHub оказывает продуктивность разработчиков. Именно поэтому в лидерах оказалось много представителей скриптовой направленности — объем кода исходников часто занимает всего несколько строк. Но — в отличие от предыдущих двух порталов — здесь практически не имеет значения сложность языка.
StackOverflow
Формально рейтинг StackOverflow формируется по двум параметрам: частоте упоминания на форуме и рейтингу в специальном ежегодном голосовании. Итоги за 2018 год:
- Python.
- JavaScript.
- Java.
- C#.
- PHP.
- C++.
- R.
- SQL.
- Swift.
- C.
В голосовании StackOverflow есть много номинаций для ЯП, в данном случае учтены только ответы на вопрос «На каком языке программирования вы работаете?». В результате не появилось неожиданных позиций, поэтому рейтинг можно считать вполне объективным. Кстати, вы можете посмотреть на изменение списка в динамике и сделать выводы.
RedMonk
Портал RedMonk задался целью составить топ языков программирования по востребованности, основываясь на топ-листах GitHub и StackOverflow. От первого они взяли количество опубликованных исходников, от второго — упоминания в тегах. Получился такой список:
- JavaScript.
- Java.
- Python.
- PHP.
- C#.
- C++.
- CSS.
- Ruby.
- C.
- Objective-C.
На картине зависимости можно заметить, что отличия в лидирующей группе крайне минимальны, и лидер может меняться хоть каждый месяц.
Итого
Обобщая результаты, можно смело говорить, что эта тройка сейчас правит на рынке:
- JavaScript;
- Python;
- Java.
У этих языков множество отличий — как в структуре, так и направленности. Так что ключевые факторы для выбора — личные предпочтения в синтаксисе и области работы.
А что по душе вам?