Введение

Язык программирования Go был создан с акцентом на удобство разработчиков, и мы высоко ценим обратную связь, которую получаем через предложения, отчеты об ошибках и взаимодействие с сообществом. Однако эти каналы часто представляют голоса наших самых опытных или активных пользователей — небольшой подгруппы широкого сообщества Go. Чтобы убедиться, что мы обслуживаем разработчиков всех уровней квалификации, включая тех, кто может не иметь сильных мнений о проектировании языка, мы проводим этот опрос один или два раза в год, чтобы собрать систематическую обратную связь и количественные данные. Этот инклюзивный подход позволяет нам услышать более широкий круг разработчиков Go, предоставляя ценные идеи о том, как Go используется в разных контекстах и на разных уровнях опыта.

Этот пост делится результатами нашего последнего опроса разработчиков Go, проведенного с 9 по 23 сентября 2024 года. Мы привлекли участников через блог Go и через рандомизированные уведомления в плагине VS Code Go и IDE GoLand, что позволило нам привлечь более репрезентативную выборку разработчиков Go. Мы получили в общей сложности 4156 ответов. Огромное спасибо всем, кто помог сделать это возможным.

Основные моменты

  • 93% респондентов выразили удовлетворенность работой с Go в течение последнего года.
  • Простота развертывания и удобный API/SDK были основными преимуществами использования Go на трех крупнейших облачных платформах.
  • 70% респондентов использовали AI-ассистенты при разработке на Go.
  • Наибольшая проблема для команд, использующих Go, заключалась в поддержании единых стандартов кодирования в их кодовой базе.

Общее удовлетворение

Общий уровень удовлетворенности остается высоким: 93% респондентов заявили, что они были удовлетворены или очень удовлетворены Go в течение последнего года. Хотя точные проценты немного колеблются от цикла к циклу, мы не видим статистически значимых различий по сравнению с опросами за вторую половину 2023 года (90%) и первую половину 2024 года (93%).

Среды разработки и инструменты

Как и в предыдущие годы, большинство респондентов разрабатывали на Go в Linux (61%) и macOS (59%) системах. Исторически доля пользователей Linux и macOS была очень близкой, и мы не заметили значительных изменений по сравнению с предыдущим опросом. Группы, случайно выбранные из JetBrains и VS Code, чаще (33% и 36% соответственно) разрабатывали на Windows, чем самоподобранные группы (16%).

Go в облаках

Почти половина респондентов (50%) развертывают программы Go на Amazon Web Services. AWS следует за собственными или корпоративными серверами (37%), а затем Google Cloud (30%). Респонденты, работающие в крупных организациях, чаще развертывают на собственных или корпоративных серверах (48%), чем те, кто работает в малых и средних организациях (34%).

Использование AI-ассистентов

Большинство респондентов (70%) используют AI-ассистенты при разработке на Go. Наиболее распространенным использованием AI-ассистентов было завершение кода на основе LLM (35%). Другие распространенные ответы включали написание тестов (29%), генерацию кода Go из описания на естественном языке (27%) и мозговой штурм (25%).

Проблемы для команд, использующих Go

Наиболее часто сообщаемыми проблемами для команд были поддержание единых стандартов кодирования в кодовой базе Go (58%), выявление проблем производительности в работающей программе Go (58%) и выявление неэффективностей использования ресурсов в работающей программе Go (57%).

Демография

81% респондентов были полностью занятыми. Большинство респондентов работали в технологической отрасли (43%), а вторым по популярности сектором были финансовые услуги (13%)

Фирмографика

Мы получили ответы от сотрудников различных организаций. Около 29% работают в крупных организациях с более чем 1001 сотрудником, 25% — в средних организациях (101–1000 сотрудников), и 43% — в небольших организациях (менее 100 сотрудников). Как и в предыдущие годы, самой распространенной отраслью среди респондентов является технологическая индустрия (43%), а на втором месте — финансовые услуги (13%).

Размеры организаций респондентов

Самым распространенным местом проживания респондентов, как и в предыдущих опросах, были Соединенные Штаты (19%). В этом году произошел значительный рост доли респондентов из Украины — с 1% до 6%, что сделало ее третьей по популярности страной среди участников опроса. Однако это изменение наблюдалось только среди тех, кто самостоятельно нашел опрос, а не среди случайно выбранных групп. Это может указывать на то, что причина кроется в увеличении видимости опроса или блога Go среди украинских разработчиков, а не в массовом росте использования Go в Украине.

Методология

Опрос был анонсирован в первую очередь через блог Go, где его часто подхватывали такие платформы, как Reddit или Hacker News. Мы также привлекали участников, используя плагин VS Code Go для случайного выбора пользователей, которым показывался запрос на участие в опросе. С помощью наших друзей из JetBrains мы также получили дополнительную случайную выборку, отправив запрос случайной группе пользователей GoLand. Это дало нам два источника данных, которые мы использовали для сравнения самоотобранных респондентов с традиционными каналами и выявления потенциальных эффектов самоотбора.

57% участников опроса «самоотобрались», то есть нашли опрос в блоге Go или других социальных каналах Go. Люди, которые не следят за этими каналами, реже узнают об опросе, и иногда их ответы отличаются от тех, кто активно следит за сообществом. Например, они могут быть новичками в сообществе Go и еще не знать о блоге Go. Примерно 43% участников были случайно выбраны, то есть они ответили на опрос после того, как увидели запрос в VS Code (25%) или GoLand (11%). За период с 9 по 23 сентября 2024 года примерно 10% пользователей плагина VS Code могли увидеть этот запрос. Запрос в GoLand был активен аналогично с 9 по 20 сентября. Путем анализа различий между случайно выбранными группами и самоотобранными участниками, а также между самими случайными группами, мы смогли с большей уверенностью обобщить результаты для всего сообщества разработчиков Go.

Как читать эти результаты

На протяжении всего отчета мы используем диаграммы ответов на опрос, чтобы предоставить доказательства для наших выводов. Все диаграммы используют схожий формат. Заголовок представляет собой точный вопрос, который видели участники опроса. Если не указано иное, вопросы были с множественным выбором, и участники могли выбрать только один вариант ответа; подзаголовок каждой диаграммы укажет, если вопрос допускал несколько вариантов ответа или был открытой текстовой строкой вместо выбора. Для диаграмм с открытыми текстовыми ответами член команды Go прочитал и вручную категоризировал все ответы. Многие открытые вопросы вызвали широкий спектр ответов; чтобы сохранить размер диаграмм разумным, мы ограничили их максимум 10-12 основными темами, сгруппировав остальные под «Другое». Процентные метки на диаграммах округлены до ближайшего целого числа (например, 1,4% и 0,8% будут отображаться как 1%), но длина каждой полосы и порядок строк основаны на неокругленных значениях.

Чтобы помочь читателям понять вес доказательств, лежащих в основе каждого вывода, мы включили полосы ошибок, показывающие 95% доверительный интервал для ответов; более узкие полосы указывают на повышенную уверенность. Иногда две или более полосы ошибок пересекаются, что означает, что относительный порядок этих ответов статистически не значим (то есть ответы фактически равны). В нижнем правом углу каждой диаграммы показано количество людей, чьи ответы включены в диаграмму, в формате «n = [число респондентов]». В случаях, когда мы обнаружили интересные различия в ответах между группами (например, по опыту работы, размеру организации или источнику выборки), мы показали цветовое разбиение различий.