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

25.08.2022

Уже ни для кого не секрет, что в мире существует огромный спрос на специалистов в областях науки, технологий, инженерии и вычислений, а также то, что труд этот очень и очень высокооплачиваем. В период с 2007 по 2012 год количество вакансий, связанных с программированием вырос на 31%. Таким образом, спрос на специалистов этой области рос примерно в три раза быстрее, чем спрос на любую другую рабочую силу. По оценкам Американского Бюро статистики труда, вакансии на должность разработчика вырастут еще на 22% в течение 2012-2022 годов. Средняя заработная плата разработчика программного обеспечения по состоянию на май 2016 года составила $100,080 в год.

Если вы решили научиться кодить, огромное количество языков программирования могут сначала свести вас с ума, в голове появится закономерный вопрос – какой язык действительно следует учить? В этой статье мы постараемся сравнить некоторые особенности (сравнение зарплат, популярности и перспективы на будущее), связанные с разными языками программирования.

Краткое описание языков программирования

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

Динамические языки

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

JavaScript

Не стоит путать JavaScript с языком Java. JavaScript – это базовый скриптовый язык, который используется для фронт-энд разработки и выполняется на устройстве клиента. Язык JavaScript совместим со всеми браузерами и используется для создания интерактивных веб-приложений, достаточно часто с применением библиотек вроде jQuery и такими фронт-энд фреймворками как AngularJS, Ember.js, React и прочими.

Также JavaScript можно использовать как серверный язык на базе платформы Node.js. Два года назад Node.js только начинал свое развитие, но с того момента количество его сторонников значительно выросло. Здесь вы можете найти множество ресурсов, посвященных данной платформе. Также с помощью JavaScript вы можете создавать гибридные мобильные приложения, используя фреймворк вроде phonegap, а React Native поможет вам в разработке исходных мобильных приложений с применением JavaScript.

Однако считается, что JavaScript – сложный из-за своей нетипизированности язык. Поэтому программы, написанные на этом языке, сложны в отладке. Впрочем, существуют статично типизированные версии, например, TypeScript от корпорации Microsoft или JSX, который используют в React.

Язык Ruby был создан таким образом, чтобы разработчикам было интересно, и в то же время их продуктивность сохранялась бы на высоком уровне. Язык Ruby получил свою популярность благодаря фреймворку Ruby on Rails. Это комплексный фреймворк, оптимизированный под все необходимые потребности программирования. Поскольку код Ruby легко читается, а Rails обладает встроенными инструментами, которые упрощают задачи разработчика, многие специалисты советуют начать изучение программирования именно с этого языка.
Язык Ruby в большинстве случаев используется для бэк-энд разработки, и многие популярные веб-сайты вроде Airbnb, Shopify, Bloomberg, Hulu, Slideshare были созданы с применением фреймворка Ruby on Rails.

Python – это еще один язык, который настоятельно рекомендуется для изучения новичками. Также Python является самым распространенным вводным языком программирования в самых лучших университетах Соединенных Штатов. Разработчики использовали Python для достижения сходства настольных программ и веб-приложений. Также язык предлагает отличные инструменты для анализа данных. В дополнение, язык Python достаточно широко используется в исследовательских кругах в области научных вычислений, анализа данных и биоинформатики.

Google, Dropbox, Pinterest, Instagram, Reddit, BitTorrent, Civilization IV и другие ресурсы были созданы на языке Python.

PHP – это исполняемый на сервере скриптовый язык, который считается достаточно простым для начального уровня. Достаточно просто представить себе, какую функцию выполняет код PHP. Большинство веб-сайтов были созданы с применением языка PHP, поскольку он в значительной мере специализирован для веба.

При создании таких известных ресурсов как Facebook, Wikipedia, Yahoo!, Tumblr, WordPress и др. широко был применен язык программирования PHP.

Статично типизированные языки

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

Java – это универсальный язык программирования, который используется для создания Android-приложений, настольных программ и игр. Также язык Java обычно применяют для разработки бэк-энда корпоративного уровня: 90 процентов компаний из рейтинга Fortune 500 используют Java.

Более того, Hadoop – это популярный фреймворк на базе Java, который используется для хранения и передачи больших массивов данных, и внедрен в такие веб-сервисы как Yahoo, Facebook и Amazon.

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

Язык программирования С повлиял практически на каждый язык, который мы рассмотрим в нашей статье, а в особенности на Objective-C и C++. Поэтому, если вы хорошо знаете С, возможно, вам будет проще вникнуть в другие популярные языки программирования.

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

Objective-C / Swift (для iOS разработки)

Язык Objective-C является своего рода надстройкой языка С, что делает его статичным. При этом его можно использовать и для динамической типизации. Swift от компании Apple – это статический язык, разработанный для совместимости с Objective-C, однако статичная типизированность делает его более устойчивым перед ошибками.

Язык Swift (созданный под влиянием Python), был разработан для упрощения жизни новичка-программиста и нацелен на исправление некоторых проблем Objective-C.

C++ — это мощный язык, основанный на С. Изначально язык был разработан для систем программирования программного обеспечения, но достаточно часто используется для создания игр/игровых движков, настольных, мобильных и веб-приложений. С++ мощный и быстрый – даже создатели Facebook разработали несколько высокопроизводительных и надежных компонентов с помощью этого языка. Большое количество программного обеспечения было создано на С++, включая Adobe Systems, Amazon, Paypal, Chrome и пр. Как и в случае с С, язык С++ считается сложным для самостоятельного изучения новичками. Так что, если вы решили изучать С++ в качестве своего первого языка программирования, лучше найдите себе наставника через Meetups или на Codementor.

C# («C Sharp») был создан для фреймворка.NET от Microsoft, который работает главным образом на Microsoft Windows.

C# используется для веб-разработки, создания игр и общих разработок Microsoft. И хотя раньше Microsoft не отличалась кросс-платформенностью, Xamarin работает на проекте с открытым кодом под названием Mono, который нацелен на перенос C# на другие платформы, а также на добавление лучших инструментов для разработчиков Linux. С недавних пор вы также можете использовать C# для создания исходных мобильных приложений под системы iOS и Android через Xamarin.

Другие

SQL («Sequel»), или Язык Структурированных Запросов – это язык запросов, который используется для взаимодействия с базами данных. И хотя язык SQL нельзя использовать для создания приложений, его можно применять для управления данными в приложениях, которые используют системы управления реляционными базами данных (RDMS).

Возможности по трудоустройству

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

На основе оценки уровня заработной платы ресурса indeed.com мы можем разделить языки программирования на 9 категорий:

Результаты показывают, что Ruby/Ruby on Rails помогут вам заработать больше всего, а Python, C++, iOS и JavaScript также являются достойными вариантами. К тому же, если вашей основной целью является доход, тогда C, PHP, и SQL не станут идеальными вариантами…или все же?

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

Будущее каждого из языков программирования

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

Кажется, Python, JavaScript, Java (в 2014 году третье место занимал C#) и C++ получили самые высокие оценки. Основываясь на имеющихся у нас данных, мы можем сделать следующие выводы:

JavaScript

Без сомнения, JavaScript только набирает свою популярность, особенно потому, что теперь этот язык можно использовать для бэк-энд разработки и даже создавать исходные мобильные приложения (посредством React Native). JavaScript продолжает в достаточно быстром темпе получать большое количество новых инструментов, так что, можно предположить, что этот язык в будущем будет иметь очень большое значение.

Старт-апы любят Ruby on Rails. Многие известные сайты, включая Airbnb, Twitch, Hulu и т.д. созданы на основе Ruby on Rails, а это значит, что им всегда нужны разработчики Ruby. Также, поскольку разработчикам всегда интересно работать на Ruby on Rails, ведь там все просто и понятно, этот фреймворк вероятнее всего сохранит свою популярность среди новичков.

С другой стороны, рост популярности Node.js определенно повлияет на распространение Ruby on Rails - Node.js уже обошел Rails на Github. И хотя это не стопроцентная гарантия того, что Node.js вытеснит Rails, стоит отметить, что всего несколько лет назад Rails обошел самый значительный фреймворк для бэк-энд разработки от Python — Django.

Кроме всего прочего, тенденция «изоморфных» приложений, скорее всего, повлияет на освоение Rails – практику, которая призвана улучшать производительность веб-приложения. Поскольку изоморфные приложения в значительной степени должны работать на платформе Node.js, которая включена в JavaScript, вероятнее всего, Node.js со временем будет набирать популярность. Также желание быть специалистом только в одном языке (JavaScript) может отвернуть новичков от изучения Ruby. Go от Google – это еще одна бэк-энд альтернатива, которой в течение последних двух лет уделяется все больше и больше внимания.

Однако, учитывая тот факт, что Rails постоянно дополняется обновлениями, он будет сохранять свое распространение еще долгое время. Не говоря уже о невероятно лояльной поддержке с уймой полезных инструментов, которые помогут упростить процесс разработки. Поэтому, несмотря на спад популярности, Ruby еще задержится с нами.

Язык Python широко распространен среди научных исследователей и специалистов по обработке и анализу данных. Кроме того, как мы уже говорили ранее, многие учебные заведения принимают решение начинать изучение программирования именно с Python. А это значит, что этот язык в дальнейшем будет стабильно развиваться и также будет востребован. И хотя Python не развивается и не набирает популярность так же стремительно, как JavaScript, он все же продолжит укреплять свои позиции, особенно с учетом большого спроса на специалистов по обработке и анализу данных.

Направление бэк-энд разработки за последние несколько лет слегка отошло от языка PHP, но 80% веб-сайтов сети по-прежнему созданы на PHP. В конце концов, язык ведь был создан для веба.

Тем не менее, если вы загуглите, какие языки программирования стоит изучать начинающему программисту, вы увидите, что большинство разработчиков не советуют изучать PHP. Более того, многие разработчики ненавидят этот язык.

Сторонники PHP пытаются избавиться от плохой репутации, создавая новые руководства на предмет того, как правильно кодить на PHP, а также разрабатывая новые инструменты. Но в целом, развитие языка остановилось еще в 2015 году (по крайней мере, в Соединенных Штатах). И хотя у некоторых таилась надежда, что PHP7 воскресит интерес, все же этот язык остается слегка фрагментарным.

Система Android внесла значительную лепту в популярность и распространение языка программирования Java, а многие предприятия любят его за относительную стабильность и гибкость.

Учитывая рост популярности Spark (который использует язык Scala) и Cassandra (который поддерживает другие языки), сложно оценить, как долго Hadoop сохранит лидерство в рейтинге самых популярных больших фреймворков. Однако с учетом того, как большие предприятия реагируют на изменения, Hadoop еще не скоро уйдет со сцены. То же самое можно сказать и о языке программирования Java в целом, поскольку в нем есть превосходные инструменты для бэк-энд разработки, а также потому, что этот язык распространен в разработке корпоративных приложений.

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

Objective-C/Swift
Поскольку Apple выпустила Swift, а Objective-C работает только для продуктов Apple, не стоит ожидать, что Objective-C в будущем будет востребован. В то же время, Swift, конечно же, будет оставаться востребован еще много лет, пока люди будут продолжать пользоваться продуктами Apple.

Впрочем, это не значит, что вам незачем изучать Objective-C в 2017 году, ведь большинство проектов для iOS разработки по-прежнему написаны на Objective-C. Проще говоря, не очень полезно использовать то, в чем вы не разбираетесь. Вряд ли нужно говорить о том, что у вас не возникнет никаких сложностей при изучении Objective-C, если вы знаете Swift и наоборот.

Сложно сравнивать С с другими языками программирования. Однако, раз уж данный язык является языком-посредником операционных систем и многие разработческие инструменты написаны на С, включая Linux, язык сохранит свою актуальность.

Язык SQL знают и понимают практически все администраторы баз данных. На некоторое время могло показаться, что SQL утратил свое значение с приходом NoSQL-сервисов вроде MongoDB и Redis, а также использующих non-SQL компьютерных платформ с большими базами данных, включая Hadoop, Spark и Cassandra. Многие люди думали, что эра SQL подходит к своему завершению.

С ростом больших массивов данных и возникшими трудностями в их управлении, SQL актуален как никогда (как вы уже догадались по тенденциям роста вакансий). Google также недавно обновил свой сервис BigQuery, и теперь он может обрабатывать до 100 000 строк в секунду. Этот сервис также использует язык SQL. Spark, начиная с версии 1.3, также обладает модулем Spark SQL. В таких продуктах как ClustrixDB, DeepSQL, MemSQL и VoltDB все, что вам понадобится, это просто добавить узлы вместо закачки целого сервера баз данных.

Так или иначе, язык SQL снова востребован, потому что он нужен для управления и анализа (а не хранения) больших массивов данных. Сообщество разработчиков даже предрекает некоторого вида объединение SQL и NoSQL. Как бы то ни было, можно с уверенностью сказать, что язык SQL по-прежнему будет оставаться актуальным.

C++ все еще считается самым мощным языком программирования с точки зрения производительности и возможностей (даже против Rust). Очевидно, что C++ будет оставаться востребованным в определенных секторах, где необходимо поддерживать высокую производительность (например, игровые движки). Поскольку ISOCPP (Международная организация по стандартизации) уже закончила свою работу над стандартом C++17 (который уже на финишной прямой ISO голосования по стандартизации ISO), то вполне вероятно, что разработчики начнут работу над C++20 уже в июле 207 года. Так что, что и говорить, язык программирования C++ по-прежнему развивается.

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

Тот факт, что C# ограничен платформами Microsoft и имеет закрытый код, в прошлом никак не способствовало улучшению положения языка, но, слава Богу, Mono пришел на выручку (хотя раньше у Mono были определенные проблемы в работе, недавние обновления значительно улучшили ход событий).

Разработчики, которые работали с языком C#, видимо, очень его любят, и процесс распространения этого языка программирования набирает обороты. Не стоит лишний раз напоминать, что C# является основным языком Unity 3D – весьма популярного игрового движка, который совместим с iOS, Linux и другими системами. Рост популярности Unity3D как независимого игрового движка, а также приложения виртуальной реальности укрепили будущее C#. Поскольку виртуальная реальность получила очень широкое распространение и сохранит свою популярность в дальнейшем, язык программирования C# определенно имеет светлое будущее.

Кроме того, язык C# также достаточно распространен в корпоративной разработке за пределами Соединенных Штатов, например, в Великобритании. Очевидно, что компания Microsoft будет поддерживать жизнедеятельность C#, а также сохранять его актуальность для платформы.NET. По факту, компания активно ведет работу над открытием кода своих продуктов и создает благоприятные и доступные условия для их освоения разработчиками.

Заключение

Какой язык стоит изучать начинающему программисту? Очевидно, что если вы хотите посвятить себя веб-разработке, вам необходимо изучать JavaScript независимо от того, хотите вы или нет. Если вы хотите работать в бэк-энде, вы просто обязаны знать SQL.

Далее, если вы желаете заниматься анализом баз данных веб-сайтов или вам хотелось бы стать специалистом по обработке и анализу данных, стоит изучить Python. Если вы хотите работать с корпоративной разработкой, вплотную возьмитесь за Java. Если вы не заинтересованы в создании продукта, а просто хотите найти работу, стоит начать с языка SQL (в особенности, если вам нравится математика).

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

Одной из наиболее используемых систем оценки популярности языка программирования является TIOBE , суть которой заключается в подсчете количества веб-страниц, на которых есть название того или иного ЯП.

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

Их система под названием PYPL (PopularitY of Programming Languages) основана на количестве поисковых запросов туториалов: чем больше людей ищут руководства по конкретному языку программирования, тем выше он в рейтинге PYPL.

10. Swift

Язык появился не так давно, но Apple хочет, чтобы он стал ключевым по всему миру и для всех платформ, включая веб и Android, уже в ближайшие 20 лет.

9. R

R был создан в 1993 году и сегодня используется крупными компаниями для машинного обучения и анализа больших данных.

8. Objective-C

Несмотря на то, что изначально Swift был выпущен, чтобы заменить Objective-C, этот язык всё ещё остается популярным и является передовым для разработки на iOS. Но, вероятно, это скоро изменится.

7. С++

Наиболее популярными продуктами, написанными на C++, являются Windows и Google Chrome.

6. C

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

5. JavaScript

Именно этот язык обычно расположен на первом месте в различных рейтингах. Однако по мнению GitHub он не является самым популярным. JavaScript используется в основном для разработки веб-приложений, но на самом деле ограничений для него нет.

4. C#

C# разработан компанией Microsoft и используется в основном в связанных с ней системах, например, в Windows Phone. Также на C# написан поисковик Bing.

3. PHP

Этот язык - самый популярный выбор для разработки бэкенда. На нем написаны такие сайты, как Facebook, ВКонтакте, Yahoo.

2. Python

Python был создан в 1989 году и с того времени, кажется, становится всё более популярным.

1. Java

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

[Сырые данные и скрипты обработки на языке R можно найти на GitHub ]

В опросе приняло участие 8186 человек, 90% участников проживают в Украине.

Основные результаты

Самым распространенным языком по-прежнему остается Java (23% рынка), JavaScript вышел на второе место (16%), незначительно опередив C# по популярности. На 4-ом месте, как и прежде, - PHP (13%) с большим отрывом от Python (7%). Программирование на C++ занимает 5% рынка, далее идут Ruby (4.5%), Swift и Objective-C. Замыкает десятку наиболее популярных языков - Scala (1.5 %), опередив C и 1C.

Cо стороны «длинного хвоста» - стало заметным использование TypeScript и Kotlin.

Посмотрим на динамику последних лет:

Видим уменьшение использования Java, несмотря на то, что язык по-прежнему остается самым распространенным. JavaScript продолжает набирать популярность теми же темпами, что и раньше. В секторе iOS разработки Swift продолжает вытеснять Objective-C (сейчас соотношение Swift к Objective C - 55/45, в прошлом году это было 20/80). Также из статистически значимых изменений по сравнению с началом 2016 - увеличение популярности Scala и Go. Снижение популярности PHP прекратилось.

Предпочитаемые технологии

Тут ситуация похожа. Из новостей рост перспективы Go, стал виден Kotlin и TypeScript, а вот Java выбрало бы для следующего проекта заметно меньше людей, чем в прошлом году. Можно предположить, что Kotlin рассматривается как предпочитаемый язык теми разработчиками, которых Java уже ограничивает, а Scala кажется либо слишком сложной, либо не очень подходящей к области. Также можно связать падение темпов роста JavaScript и появление TypeScript: его можно использовать как JavaScript со статической типизацией.

Построим «индекс удовлетворенности» - доля разработчиков, которые в следующем проекте использовали бы тот же язык:

Видим, что самый «любимый» язык - Swift, далее в следующей группе идут C#, Go и Scala, а затем - Java, Kotlin и Clojure.

Самый «нелюбимый» - Apex, за ним идут SQL-подобные и устаревающие языки.

Изучение новых языков

В этом году мы впервые включили в опрос блок вопросов об изучении новых языков: большинство разработчиков (65%) хотят в следующем году выучить какой-то новый язык.

Какой именно:

То есть 31% еще не знают какой. Наиболее притягателен для обучения - JavaScript (12%), затем Python, Java, Go, Scala и Swift.

Как именно люди собираются изучать новый язык программирования: преимущественно на основе книг и документации (61%); 27% будут проходить онлайн курсы, а офлайн курсы останутся основным методом обучения для 7% респондентов, ответивших на данный вопрос.

Дополнительные языки

Видим, что в целом картина повторяет ситуацию с основными языками разработки, за исключением появления Unix Shell на втором месте и более высокой позиции расширений SQL.

Свои проекты:

Здесь тенденции те же, изменений по сравнению с годом раньше - меньше. Может быть это связано с тем, что понятие «свои проекты» консервативно: если у меня есть проект на C++, значит, он у меня и останется.

Финальная таблица

Язык Доля рынка Изменение по сравнению с 2016 Рабочий Дополнительный В своих проектах Индекс удовлетворенности
1 Java 23.4 -2.91 1892 1129 1965 0.76
2 JavaScript 16.2 2.36 1316 4206 2606 0.69
3 C# 14.9 1210 744 1354 0.82
4 PHP 13.25 1073 852 1253 0.63
5 Python 8.71 0.74 706 1170 1157 0.71
6 C++ 5.5 -0.95 445 681 725 0.62
7 Ruby 3.5 287 279 330 0.68
7 Ruby 3.5 287 279 330 0.68
8 Swift 2.2 1.36 181 236 276 0.87
9 Objective-C 1.05 -1.34 150 283 212 0.33
10 Scala 1.52 0.47 123 207 215 0.81
11 1C 1.27 103 57 85 0.27
12 C 1.1 -0.2 90 473 240 0.37
13 PL-SQL 1 85 583 102 0.24
14 T-SQL 68 959 237 0.28
15 Go 0.55 66 235 251 0.82
16 Pascal/Delphi 66 109 205 0.47
17 Perl 35 140 65 0.28
18 R 35 122 73 0.46
19 ActionScript 30 53 48 0.26
20 TypeScript 21 112 44 0.47
21 Kotlin 16 53 57 0.75
22 Clojure 12 38 68 0.75
23 Erlang 12 43 44 0.50

Дополнительные данные

Возраст разработчика в зависимости от языка:

Что мы тут видим - модно, стильно, молодежно - это Kotlin (медианный возраст разработчика: 24 года). Для Java, JavaScript, Python, Ruby, Swift это значение составляет 27 лет. С другой стороны у нас PL/SQL, Perl, Pascal и 1C, как и следовало ожидать. А вот пользователь R помолодел: молодежь бросилась изучать Data Science.

Тут интересны аномалии: с R наблюдается то же, что и в предыдущем опросе (в программирование на R приходят люди извне); Scala и Gо, наверное, можно назвать языками для сеньоров; Perl, Pascal/Delphi и 1С очевидно не испытывают кадрового обновления.

Еще посмотрим на распределение опыта работы программистом по сравнению данными прошлых лет:

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

Посмотрим еще на распределение возраста разработчиков в зависимости от страны:

Различие в формах распределения может нам сказать о масштабах эмиграции прошлых лет.

Различие местного и зарубежного рынков разработки также можно увидеть, сравнив данные об основном рабочем языке от людей, живущих в Украине и от диаспоры:

Видим, что за рубежом гораздо больше используют C, Scala и Go. До нас эти тенденции приходят с некоторым опозданием.

Образование:

Доля «мертвых языков» снижается, также виден рост количества людей, написавших свою первую программу на JavaScript.

Результаты предыдущих опросов: , .

Эксперты сервиса для тестирования навыков разработчиков Devskiller опубликовали в блоге статью о самых популярных языках программирования 2017 года, а также дали прогноз на 2018. При подготовке статьи они опирались на исследование рабочих мест среди разработчиков от новостного портала Hacker News, на опрос , проведённый на всемирной встрече разработчиков Stack Overflow 2017, а также на отчёт веб-сервиса для хостинга IT-проектов GitHub с 24 миллионами пользователей. Мы подготовили адаптированную версию этого масштабного исследования.

JavaScript

Рост популярности браузерных фронтенд приложений укрепил позиции JavaScript. Скорость и простота делает этот язык идеальным для front-end и back-end разработки приложений. Это подтверждается рейтингом Hacker News, где JavaScript находится на 3 месте, а на 1 месте её библиотека React.

На сайте GitHub pull requests на JavaScript было в два раза больше, чем на Python.

Технологии, основанные на JavaScript также становятся всё популярнее. Так, например, библиотека React — наиболее обсуждаемая на Hacker News. Это отчасти связано с покровительством её создателя Facebook.

Платформа Node.JS продолжает плавно расти вместе с фреймворком Vue.

Согласно опросу Stack Overflow 2017, AngularJS занимает лидирующее место в списке четырёх самых популярных библиотек, используемых профессиональными разработчиками.

Это можно объяснить тем, что AngularJS поддерживается Google. Библиотеке React потребовалось гораздо больше времени на завоевание популярности из-за проблем с лицензированием, которые разрешились только в сентябре 2017. Из-за этого AngularJS чаще выбирают более крупные компании, а небольшие стартапы используют React.

В ноябре 2017 Google выпустил Angular 2, но пока он не получил широкого распространения. Ожидается, что эта версия, а также библиотека React станут более популярными, чем AngularJS.

Это не единственный пример того, как новые разработки вытесняют более старые технологии. Транскомпилятор CoffeeScript уступил позиции Typescript от Microsoft.

Эти графики говорят о том, что хоть и JavaScript будет оставаться самым популярным языком программирования, основанные на нём технологии будут меняться. Вероятно, React, Typescript и Node.JS в 2018 году устареют.

Новые языки программирования

В 2017 росла популярность некоторых новых языков программирования, которые станут ещё более значимыми в 2018. Из них можно выделить четыре:

  • Go — язык программирования от Google, разработанный в 2009 году. О его эффективности и масштабируемости рассказал в своём блоге профессиональный Android-разработчик Кеваль Патель (Keval Patel). Этот язык становится всё популярнее среди server-side программистов.
  • Еще один новый язык программирования — это появившийся в 2011 году Kotlin, который славится своей функциональностью и скоростью компиляции сравнимой с Java. После выхода Android Studio 3 он полностью поддерживается Android, что делает его гораздо более удобным. Так же играет роль отсутствие проблем с легальностью. В рейтинге Hacker News в 2016 году этот язык занимал 150 место, а в 2017 уже 87.

Rust — это замена для C/C++ , созданная и поддерживаемая Mozilla. Он такой же быстрый и эффективный, как C, и при этом у него нет уязвимостей. Согласно статистике Stack Overflow, это самый любимый язык программистов и большинство разработчиков будут продолжать им пользоваться.

Elexir — язык программирования общего назначения, который может поддерживать гораздо больше одновременных подключений, чем Python и Ruby. Это очень важно для коммуникационных систем, например, мессенджеров или интернета вещей.

Гибридные мобильные приложения

Mobile-разработки пользовались большим спросом в последние годы, но в 2017 их популярность стала падать.

Однако, это ни в коем случае не значит, что падает спрос на мобильную разработку в целом. Такие платформы, как Xamarin , Firebase и Cordova, становятся все более популярными и входят в 10 самых любимых разработчиками фреймворков, библиотек и технологий:

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

Самые обсуждаемые технологии 2018

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

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

Языки программирования, которые будут всё также популярны

В списке 20 самых популярных технологий Hackerrank только 5 языков программирования. Четыре из них — Python, JavaScript, Java и Ruby, пользуются стабильно высоким спросом.

Это объясняется тем, что с их помощью создаётся множество технологий.

Тренды веб-разработки в 2018 году

  • Python, JavaScript, Java и Ruby, будут по-прежнему актуальны в 2018 году.
  • Популярность фреймворков, библиотек и технологий, использующих эти языки программирования, будет меняться.
  • Технологии Javascript будут всё также популярны, а мобильная разработка станет более кросс-платформенной.
  • Популярность новых языков программирования — Rust, Kotlin, Go и Elixir будет только расти.
  • Блокчейн, машинное обучение, искусственный интеллект и наука о данных будут также востребованы в 2018.
  • С ростом технологий AWS Lambda и Azure Functions ускорится переход от обычных приложений к serverless.
  • Спрос на автоматизацию и интернет вещей будет расти.
  • Спрос на контейнеры и оркестровку будет продолжать расти, увеличивая популярность таких технологий, как Docker, Swarm, Kubernetes, Mesos и DC / OS.
  • В рамках перехода к кроссплатформенным мобильным приложениям, веб-приложения станут более востребованными.