Один из крупнейших в мире учебных центров по кодированию, Coding Dojo, опубликовал отчет с объективным анализом самых востребованных языков программирования 2018 г. Выводы Coding Dojo основаны на анализе сотен тысяч объявлений о приеме на работу в системе поиска вакансий Indeed.com, содержавших в своем тексте название языка программирования. Отчет констатирует, что наибольший спрос имеет Java, за которым следуют Python и JavaScript.
«Разработка ПО является динамичной сферой деятельности. Рождаются новые языки, фреймворки и технологии программирования, которые могут стать популярными, но через несколько лет исчезнуть из виду. Чтобы не отставать от жизни, разработчикам надо постоянно приобретать новые навыки, — считает Сперос Мисирлакис, заведующий учебными планами Coding Doj. — Coding Dojo все время оценивает, какие языки программирования имеют высокий спрос у работодателей, чтобы мы могли подготовить своих студентов к выходу на рынок труда. Существует много способов измерения популярности языков программирования, но, по нашему мнению, полезнее всего исследовать спрос на рабочие специализации, потому что он ориентирует разработчиков на овладение навыками, которые улучшают их карьерные перспективы».
По словам Мисирлакиса, при подготовке отчета сотрудники Coding Dojo проанализировали данные сайта для работодателей и соискателей рабочих мест Indeed.com по 25 языкам программирования, стекам и фреймворкам и определили первые семь самых востребованных языков кодирования в преддверии 2018 г.
Анализ основан на количестве объявлений о приеме на работе по каждому языку. Некоторые языки, например, Swift и Ruby, не оказались в первой семерке из-за более низкого спроса на специализацию, несмотря на то, что они в фаворе у разработчиков.
Рейтинг Coding Dojo 2018
- Java. Популярность Java в проекции на 2018 г. снизилась относительно показателя головой давности примерно на 6 тыс. объявлений о вакансиях, но этот язык по-прежнему стоит на исключительно крепких позициях. Java больше 20 лет, он используется по всему миру миллионами разработчиков и на миллиардах устройств и благодаря Java Virtual Machine может работать на любой аппаратуре и в любых ОС. На Java базируются все приложения Android, и 90% компаний из рейтинга Fortune 500 используют Java как язык серверного уровня для бэкэнд-разработок. В сентябре 2017 г., после того как Eclipse Foundation принял у Oracle бразды правления Java EE, вышли в свет Java Enterprise Edition 8 и Java 9.
- Python. Python за 2017 г. вырос в популярности примерно на 5 тыс. объявлений работодателей. Это универсальный язык программирования, используемый в веб-разработках и поддерживаемый разработчиками ПО. Его также широко применяют в научных вычислениях, в сфере Data Mining и в машинном обучении. Дальнейший рост машинного обучения и спрос на разработчиков соответствующего профиля могут способствовать росут популярности Python.
- JavaScript. JavaScript, дедушка языков программирования, сегодня фактически так же популярен, как и год назад. Это не удивительно — JavaScript используют больше 80% разработчиков и до 95% всех веб-сайтов для любой динамической логики на своих веб-страницах. С учетом роста популярности Интернета вещей и мобильных устройств ряд JavaScript-фреймворков для создания интерактивных интерфейсов, например, React и AngularJS, имеет огромный потенциал, и в обозримом будущем популярность JavaScript вряд ли пойдет на убыль.
- C++. Популярность C++ за последний год практически не изменилась. Будучи расширением старого доброго языка программирования Си, C++ обычно используется для создания системного и прикладного ПО, разработки игр, драйверов, клиент-серверных приложений и встроенных прошивок. Многие программисты считают C++ сложным и более трудным для изучения и использования, чем языки типа Python или JavaScript, однако он по-прежнему применяется во многих унаследованных системах крупных организаций.
- C#. Этот язык в этом году чуть-чуть упал в спросе. C# — это объектно-ориентированный язык программирования, разработанный в Microsoft для платформы Microsoft .NET, чтобы ускорить и облегчить разработки по сравнению с предыдущими языками Microsoft. Выпущенная в ноябре версия C# 7.2 пополнилась рядом новых функций, помогающих избавиться от излишнего копирования. C#, как и C++, интенсивно используется в разработке видеоигр, так что начинающим разработчикам этих игр неплохо освоить оба языка.
- PHP. Этот скриптовый язык, используемый на стороне серверов, поднялся в нашем рейтинге с прошлогоднего
9-го на6-е место. Большинство разработчиков применяет PHP в веб-разработках для добавления функций, с которыми не справляется HTML, или для взаимодействия с базами данных MySQL. - Perl. Perl за год потерял около 3 тыс. кадровых предложений, но сохранил за собой
7-е место. По-прежнему используются и Perl 5, и Perl 6. Язык сохраняет популярность у системных и сетевых администраторов, а также в качестве языка склейки (glue language), предназначенного для связывания разных компонентов ПО.
Языки, подающие надежды
Это языки, которые не попали в первую семерку, но выросли в 2017 г. по степени использования и популярности. Держите их в поле зрения.
- Swift. Этот язык программирования для iOS и macOS, выпущенный Apple в 2014 г., занял в списке
14-е место. Отчасти это связано с тем, что многие объявления требуют просто наличия опыта разработок в iOS без упоминания конкретных языков. По данным сайтов IEEE Spectrum и Stackify, с момента появления Swift его популярность стабильно растет. - R. В списке R занял
11-е место, но мы ожидаем, что в ближайшие годы его рейтинг повысится. Популярность этого языка растет в международных поисковых рейтингах, а в опросе сайта Stack Overflow в нынешнем году он занял наинизшее место по уровню антипатий. Рост его популярности, вероятно, связан с увеличением числа рабочих мест по анализу больших данных. - Rust. Хотя сегодняшний рейтинг языка Rust невысок, его популярность, по данным Google Trends, стабильно растет.
Другие технологии, которые надо знать разработчикам
Эти программные фреймворки или технологии формально не относятся к языкам программирования. Однако разработчикам важно их знать в предстоящем году, и соответствующие навыки обычно упоминаются в объявлениях на Indeed.
- SQL. Это стандартный язык запросов для хранения, извлечения и манипулирования данными в базах данных. Формально SQL не язык программирования, так как в нем нет циклов и других основных функций, но этот недостаток частично компенсируется в расширениях типа PL/SQL. Спрос на специалистов по SQL исключительно высок, и связанное с ним число объявлений работодателей более чем на 30 тыс. превышает аналогичную цифру для самого популярного языка программирования Java. Если в 2018 г. у вас будет время на изучение дополнительной технологии, подумайте об SQL.
- .NET. Это платформа Microsoft для разработки всяческих приложений — настольных и мобильных, веб-приложений, игр и приложений IoT. В 2016 г. она поступила в распоряжение сообщества Open Source и используется языками программирования C#, Visual Basic и F#. Имеется кроссплатформенное расширение под названием .NET Core, которое расширяет .NET на iOS, Linux и Android. Многие Windows-приложения работают на базе .NET, из-за чего эта платформа чрезвычайно распространена в мире бизнеса. В Coding Dojo считают, что с переходом в разряд Open Source она станет еще популярнее.
- Node.js. Это Open Source-среда поддержки выполнения программ, позволяющая запускать код JavaScript на стороне сервера, так что веб-разработчики могут использовать один язык для всего веб-приложения. Хотя технология Node.js в нашем списке заняла
12-е место, на эту специализацию имеется достаточно солидный спрос. Coding Dojo рекомендует всем разработчикам JavaScript для повышения квалификации уделить время Node.js, даже если они сфокусированы на клиентской стороне. - MEAN. Стек MEAN (MongoDB, ExpressJS, AngularJS и Node.js) в анализе Coding Dojo идет
18-м пунктом. Его использование позволяет вам создавать все приложение посредством JavaScript, что является простым, быстрым и очень универсальным способом. Изучив MEAN, любой разработчик получит солидную базу в одном самых распространенных и активно используемых в мире языков программирования.