Экосистема разработки в 2019 году

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

Основные выводы

Java

Основной язык программирования для большинства опрошенных

JavaScript

Наиболее широко используемый язык программирования

Go

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

В 2017 году доля Go составляла 8%, а теперь достигла 18%. Кроме того, Go лидирует среди языков, которые разработчики хотели бы освоить или начать использовать, — его выбрали 13% опрошенных.

Python

Самый изучаемый язык

27% респондентов начали или продолжили изучать Python в течение последних 12 месяцев.

Какими языками программирования вы пользовались за последние 12 месяцев?

Пользовались в течение последних 12 месяцев
Планируют освоить или начать активно использовать
JavaScript
69% / 5%
HTML / CSS
61% / 2%
SQL
56% / 2%
Java
50% / 4%
Python
49% / 9%
Языки сценариев командной оболочки
40% / 2%
PHP
29% / 2%
TypeScript
25% / 7%
C#
24% / 4%
C++
20% / 4%
Go
18% / 13%
C
17% / 2%
Kotlin
16% / 10%
Swift
11% / 5%
Ruby
11% / 3%
Objective-C
6% / 1%
Scala
6% / 5%
Dart
6% / 4%
Groovy
6% / 1%
R
6% / 3%
Visual Basic
5% / 0%
Плагин для Rust
5% / 7%
Lua
4% / 1%
Perl
3% / 1%
Matlab
3% / 1%
Язык ассемблера
3% / 1%
Elixir
3% / 2%
Haskell
3% / 2%
CoffeeScript
2% / 1%
Clojure / ClojureScript
2% / 1%
Julia
1% / 1%
F#
1% / 1%
Delphi
1% / 0%
Crystal
1% / 0%
Другое
4% / 3%

Больше всего разработчикам нравятся Java и Python. На втором месте C# и JavaScript. Однако при нормализации результатов по размеру выборки самым любимым языком оказывается C#.

Какие языки программирования вы могли бы назвать основными в своей работе?
Выберите не более 3 языков.

40%34%27%23%19%18%15% 9% 9% 7%JavaScriptJavaPythonHTML / CSSSQLPHPC#TypeScriptC++Языки сценариев командной оболочки
All results

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

Можно выделить группу «второстепенных» языков — в основном использующихся в качестве дополнительных. Среди них: HTML, SQL и языки сценариев командной оболочки. Многие разработчики владеют такими языками, однако мало кто работает с ними в качестве основных. Так, 56% опрошенных пользуются SQL, но лишь 19% назвали его в числе основных, и только 1,5% указали, что это их первый язык.

При этом Java является ведущим «самостоятельным» языком. 44% респондентов программируют только на Java или используют его в первую очередь. На втором месте в этом рейтинге JavaScript с «небольшой» долей в 17%.

В каких операционных системах вы занимаетесь разработкой?

57%
Windows
49%
macOS
48%
Unix / Linux
1%
Другое

Приложения какого типа вы разрабатываете?

в качестве заработка
не в качестве заработка или только в виде хобби
60%/39%46%/37%23%/27%14%/21%12%/15%16%/9%13%/11% 7%/16% 4%/17% 7%/11% 6%/3% 2%/3%13%/14%Веб, бэкендВеб, фронтендМобильные приложенияБиблиотеки/фреймворкиДесктопные приложенияДругой бэкендАнализ данныхМашинное обучениеИгрыВстраиваемые системы/Интернет вещейBIДругоеЯ не занимаюсь разработкой

Участвуете ли вы в проектах с открытым исходным кодом?

41%21%19%11% 3% 3% 1%Нет, но хотелось быДа, время от времениТакое было несколько разДа, регулярноНет, и не хочетсяЯ работаю над проектами с открытым исходным кодом весьрабочий деньЯ работаю над проектами с открытым исходным кодомполный рабочий день безвозмездно

Какие виды тестов применяются в ваших проектах?

71%Юнит-тестирование
47%Интеграционноетестирование
32%Сквозное тестирование
2%Другое
16%Нет

16% разработчиков не используют тесты в своих проектах. Однако среди работающих полный рабочий день senior-разработчиков эта цифра составляет всего 8%.

Как и в прошлом году, в проектах порядка 30% разработчиков все еще нет юнит-тестов.

Разработка мобильных приложений

Под какие мобильные платформы вы разрабатываете приложения?

83%Android
59%iOS
3%Другое

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

Какими кросс-платформенными фреймворками вы пользуетесь для разработки мобильных приложений?

42%30%29%28%26%12%11%11% 5% 4%React NativeFlutterCordovaIonicXamarinUnityPhoneGapNativeScriptApache FlexDojo
All results

Инструменты

Как часто вы используете следующие инструменты?

80%75%71%45%44%13%10% 9% 3%Инструмент для совместной работы над исходным кодомАвтономная IDEЛегковесный десктопный редакторИнструмент непрерывной интеграции или непрерывной доставкиБаг-трекерИнструмент статического анализаИнструмент код-ревьюОблачный редактор или IDEНет

89% программистов так или иначе настраивают IDE под свои предпочтения.

Все больше разработчиков переходят на Темную сторону: 83% предпочитают темную тему в редакторе или в IDE. Этот показатель вырос на 6% с прошлого года.

Интересные факты

Программируете ли вы во сне?

52%
Да, иногда
31%
Нет
17%
Да, часто

Чем больше разработчики программируют на работе, тем чаще им снится, что они программируют.

Кошки или собаки?

33%Собаки
26%Кошки
23%И то, и другое
1%Другое
17%Нет

Где вы проходите этот опрос?

68%Дома
23%На работе
7%По пути наработу/учебуили обратно
2%Другое

Вы проходили наш опрос дома, на работе, на лекциях и переменах, в отпуске, в баре и даже в больнице. Спасибо!

Пишете ли вы код по выходным?

Да
Нет
87%13%

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

Думаете ли вы, что искусственный интеллект в будущем заменит разработчиков?

Да, полностьюДа, частичноЗатрудняюсь сответомНи за что!Да, полностью6%Да, частично57%Затрудняюсь с ответом11%Ни за что!27%

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

Как вы добираетесь до места работы/учебы?

47%На общественномтранспорте
32%На автомобиле
21%Я работаю/учусь дома
18%Пешком
14%На велосипеде
3%На мотоцикле
2%Другое

На каком виде топлива работает ваше транспортное средство?

84% 9% 6% 1% 1%БензинДизельное топливоЭлектричествоСжиженный природный газДругое

«Другим» топливом в большинстве случаев оказался этанол и прочие спирты.