Недавно известная аналитическая компания SlashData, опросив более 19 000 разработчиков в 155 странах / регионах по всему миру, опубликовала «Отчет разработчика» (20-е издание) за первый квартал 2021 года. В этом отчете основное внимание уделяется инструментам и инструментам. В таких областях, как языки программирования, машинное обучение, новейшие технологии и встроенные, анализируется состояние приложений инструментов разработки и последние тенденции развития среды разработки.

Краткий обзор:

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

  • JavaScript по-прежнему остается самым популярным языком программирования, которым пользуются почти 14 миллионов разработчиков по всему миру;
  • С начала 2020 года популярность Python превзошла популярность Java, став вторым по популярности языком программирования (после JavaScript) с более чем 10 миллионами пользователей;
  • С тех пор, как Google объявил на конференции ввода-вывода в 2017 году, что Kotlin стал языком разработки первого уровня для системы Android, количество пользователей Kotlin увеличилось более чем в три раза;
  • В прошлом году Rust и Lua стали двумя наиболее быстрорастущими языковыми сообществами среди всех языков программирования.

Последние изменения в машинном обучении

  • Неструктурированные текстовые данные являются наиболее распространенным типом данных в работе разработчиков машинного обучения (ML) и специалистов по обработке данных, их уровень использования составляет 68%;
  • Большинство (53%) инженеров по машинному обучению и специалистов по обработке данных являются профессиональными разработчиками, но в некоторых случаях они также участвуют в некоторых хобби / студенческих проектах одновременно.

Новые технологии

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

Встроенное программное обеспечение

  • Разработчики встраиваемых систем с большей вероятностью будут участвовать в промышленном Интернете вещей, бытовой электронике, дополненной реальности и виртуальной реальности, чем те, кто не участвует во встроенном ПО.
  • C ++ - наиболее часто используемый язык программирования для разработчиков встраиваемых систем, и 40% из них его используют.

В мире самое большое количество разработчиков JavaScript, а Python по популярности превосходит Java

В этом обзоре SlashData использовал подход, отличный от предыдущих списков TIOBE, Redmonk, Stack Overflow и других. Сначала он независимо оценил количество разработчиков программного обеспечения во всем мире. По состоянию на первый квартал 2021 года во всем мире насчитывалось 24,3 миллиона активных разработчиков. Это значение выросло примерно на 14% по сравнению с 21,3 миллиона в октябре 2020 года, что означает, что количество разработчиков во всем мире находится в стадии быстрого роста.

13,8 миллиона разработчиков во всем мире используют JavaScript, в основном в Интернете и облачных средах

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

С точки зрения пользовательского масштаба JavaScript прочно занимает первое место в списке языков программирования, и почти 14 миллионов разработчиков по всему миру используют его, что намного превосходит Python, который занимает второе место. По имеющимся данным, за последние три года размер сообщества JavaScript постоянно растет. В период с четвертого квартала 2017 года по первый квартал 2021 года к сообществу JavaScript присоединилось более 4,5 миллионов разработчиков.

С точки зрения данных, более 50% активных разработчиков в мире используют JavaScript. Хотя некоторые разработчики по-прежнему используют такие языки программирования, как Java, C #, PHP и т. Д., Во многих проектах в той или иной степени используется JavaScript.

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

Python более популярен, чем Java, и становится вторым по популярности языком программирования после JavaScript

С начала 2020 года Python по популярности превзошел Java, став вторым по популярности языком после JavaScript. Только за последний год сообщество Python добавило 1,6 миллиона разработчиков, а сообщество насчитывает примерно 10,1 миллиона пользователей.

Растущее использование Python необходимо для развития науки о данных и машинного обучения (ML). Для этого почти 70% инженеров машинного обучения и обработки данных говорят, что они используют Python.

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

За почти 20 лет разработки сообщество Java теперь насчитывает 9,4 миллиона разработчиков

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

Согласно опросу, с конца 2017 года почти 2,5 миллиона разработчиков присоединились к сообществу Java, которое сейчас насчитывает 9,4 миллиона разработчиков.

C # пришел в упадок, PHP по-прежнему популярен в Интернете

Вслед за JavaScript, Python и Java, C / C ++ (7.3M), C # (6.5M) и PHP (6.3M) заняли четвертое, пятое и шестое места соответственно.

Среди них C и C ++ являются основными языками, используемыми для кодирования на уровне устройств и приложений во встроенных проектах и ​​проектах IoT.

Кроме того, в отчете указано, что в период с третьего квартала 2019 года по третий квартал 2020 года популярность C # снизилась. Однако после того, как количество пользователей C # увеличилось на 500 000 разработчиков за последние шесть месяцев, C # превзошел PHP и вернулся на пятое место в рейтинге.

В области приложений C # в основном используется для разработки настольных компьютеров и других сфер. В последние годы его также выбирают разработчики AR / VR и игр. Причина в том, что игровой движок Unity внедряется в этих областях. связанные с. В то же время исследователи заявили, что этот язык «редко используется» в науке о данных и мобильной разработке, поэтому, если Microsoft хочет продолжить разработку C # и добиться успеха Xamarin и MAUI (многоплатформенная среда пользовательского интерфейса приложений), или много работы, чтобы довести до совершенства.

Другой язык программирования, PHP, по-прежнему является вторым наиболее часто используемым языком в веб-приложениях после JavaScript. В течение долгого времени PHP считался наиболее широко используемым языком программирования на стороне сервера, главным образом потому, что он используется популярными системами управления контентом, такими как WordPress. Однако с октября прошлого года по настоящее время количество пользователей PHP увеличилось всего на 200 000 человек. На самом деле, разработка идет не быстро.

Kotlin быстро растет, и его поддержка неотделима от поддержки Google

За последние три года Котлин поднялся с 11-го на 8-е место в списке. Эта тенденция во многом связана с решением Google в 2017 году сделать Kotlin языком разработки для Android.

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

Число пользователей Rust за последние три года выросло более чем в три раза

Как язык программирования с высоким уровнем безопасности, Rust завоевывает признание все большего числа предприятий, включая Google, Amazon, Microsoft и так далее. Согласно отчету, Rust более чем утроил свою пользовательскую базу за последние три года - с 1,1 миллиона разработчиков в четвертом квартале 2017 года до 2,6 миллиона в первом квартале 2021 года.

Кроме того, Lua также является одним из самых быстрорастущих языковых сообществ в прошлом году. Некоторые разработчики, занимающиеся AR / VR и IoT, используют Lua для замены таких языков, как C и C ++.

Objective-C постепенно прекращается

При разработке приложений для iOS Swift по-прежнему является языком по умолчанию, разработанным на всех платформах Apple, что также привело к постепенному отказу от Objective-C пользователями. Согласно опросу, его рейтинг опустился с 9 на 12 место.

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

В последние годы все сферы жизни начинались с искусственного интеллекта, машинного обучения и других технологий. Согласно опросу, 68% инженеров ML / AI / DS используют неструктурированные текстовые данные, которые также являются наиболее распространенным типом данных для разработчиков. Однако звук является наиболее распространенным типом комбинированных данных. 75–76% респондентов указали, что они будут использовать изображения, видео или текстовые данные при обработке аудиоданных.

Во-вторых, табличный тип данных составляет 59%, что делает его вторым по популярности типом данных.

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

Машинное обучение, искусственный интеллект и анализ данных имеют высокие пороговые значения, и 53% респондентов являются профессиональными разработчиками

В группе разработчиков ML / AI / DS 53% респондентов - профессиональные разработчики. Доля профессиональных разработчиков, занимающихся обработкой аудиоданных, самая высокая - 64%. Среди них 50% профессиональных разработчиков в основном занимаются исследованиями применения аудиоданных для преобразования текста в речь.

Соответственно, типы данных, популярные в студенческих группах, включают изображения, таблицы и текст. 18–19% разработчиков, использующих этот тип данных, - студенты. Кроме того, поскольку многие из этих типов данных можно получить бесплатно, многие студенты могут использовать данные для изучения определенной области после их усвоения.

Крупномасштабных наборов данных не так уж и много

Сейчас, в эпоху больших данных, многие люди думают, что разработчики ML / AI / DS могут ежедневно использовать очень большие наборы данных. Но согласно отчетам, исследования показывают, что очень большие наборы данных могут быть не так широко распространены, как люди ожидают.

В качестве примера возьмем наборы данных изображений. 18% наборов данных изображений имеют размер от 50 МБ до 500 МБ, в то время как только 8% наборов данных изображений превышают 1 ТБ.

Кроме того, размер набора данных также зависит от профессионального статуса. Только 11% профессиональных разработчиков используют структурированный набор обучающих данных, содержащий до 20 000 строк, в то время как 43% любителей и 54% студентов используют только меньшие наборы данных.

О влиянии современных разработчиков

У разработчиков есть мир. Согласно опросу, 42% разработчиков и 64% руководителей групп вносят предложения или влияют на лиц, принимающих решения в своей компании.

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

Однако технический директор по-прежнему остается директором по закупкам (при закупках (54%) или утверждении расходов (33%)) лицом, которое принимает окончательное решение.

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

Разработка мини-программ стала неизбежным трендом

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

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

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

40% разработчиков встраиваемых систем используют C ++

По данным, каждый десятый разработчик участвует в разработке встраиваемого ПО. Однако инженеры, занимающиеся разработкой встраиваемых систем, обычно также задействованы во многих других областях. Другими наиболее популярными областями среди разработчиков встраиваемых систем являются веб-приложения / SaaS.

Где выполняется код, написанный разработчиками встроенного программного обеспечения?

Это сильно отличается от модели и метода чистой разработки программного обеспечения. Многих людей очень интересует повседневная жизнь инженеров по аппаратному / встраиваемому оборудованию. Они должны писать код?

В нормальных условиях программисты должны писать код. 58% разработчиков пишут код на настольном или портативном компьютере. Во-вторых, 31% разработчиков, которые запускают код на смартфонах и планшетах.

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

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

40% разработчиков встраиваемых систем используют C ++

В проектах встроенного программного обеспечения C ++ является наиболее часто используемым языком программирования для разработчиков встроенных программ. Во-вторых, внимательно следили за C и Python, на которые приходилось 32% и 30% соответственно.

В списке языков программирования, обычно используемых во встроенной разработке, такие как Embedded C (16%), Arduino (14%) и Assembly (12%) занимают относительно низкие места, не такие популярные, и популярность этих языков программирования будет также зависит от среды кода, написанного разработчиком. Например, при разработке для устройств CE, отличных от смартфонов или аппаратных архитектур, отличных от x86, четверть разработчиков используют встроенный язык C. При написании кода для промышленных вычислительных устройств или сетевой инфраструктуры Arduino также пользуется популярностью среди разработчиков. Согласно отчету об опросе, инженеры по встраиваемым системам с большей вероятностью будут участвовать в сфере промышленного Интернета вещей (IIoT), чем те, кто не имеет опыта встраивания.

Также стоит отметить, что некоторые продвинутые интерпретируемые языки программирования (Python, Java и JavaScript) также очень популярны в проектах разработчиков встраиваемых систем, а это означает, что многие опрошенные разработчики встраиваемых систем не ограничиваются только уровнем разработки аппаратного обеспечения, а используют операционную систему. для достижения более абстрактных и сложных исследований и разработок. Фактически, согласно опросам, почти половина разработчиков встраиваемых систем используют устройства Android, что является основной причиной широкого использования интерпретируемых языков программирования в этой области.

Для получения дополнительных отчетов посетите:

Https://slashdata-website-cms.s3.amazonaws.com/sample_reports/lI65ncm-kfuTOtls.pdf