Go 2016年調査結果
GoチームのSteve Francia 2017年3月6日
感謝
この投稿では、2016年12月のユーザー調査の結果と、それに対する私たちの解説と洞察をまとめています。Goの将来を形作るために、調査を通じてフィードバックを提供してくださった皆様に感謝いたします。
プログラミングの経験
3,595人の調査回答者のうち、89%が職場または職場以外でGoでプログラミングを行っていると回答しており、39%が自宅と職場でGoを使用し、27%が自宅のみでGoを使用し、23%が職場のみでGoを使用しています。
私たちは、人々が仕事をしている分野について尋ねました。63%がWeb開発に従事していると回答しましたが、Web開発のみを挙げたのは9%のみでした。実際、77%が2つ以上の分野を選択しており、53%が3つ以上の分野を選択していました。
また、Goでどのようなプログラムを作成しているかについても尋ねました。回答者の63%がコマンドラインプログラムを作成しており、60%がAPIまたはRPCサービスを作成しており、52%がWebサービスを作成しています。前の質問と同様に、ほとんどの人が複数の選択肢を選択しており、85%が2つ以上の選択肢を選択し、72%が3つ以上の選択肢を選択していました。
プログラミング言語における人の専門知識と好みについて尋ねました。当然のことながら、Goは専門知識(26%)と好み(62%)の両方で回答者の最初の選択肢の中で最も高い順位にランクインしました。Goを除くと、言語の専門知識に関する上位5つの最初の選択肢は、Python(18%)、Java(17%)、JavaScript(13%)、C(11%)、PHP(8%)であり、言語の好みに関する上位5つの最初の選択肢は、Python(22%)、JavaScript(10%)、C(9%)、Java(9%)、Ruby(7%)でした。Goは明らかに、多くの動的言語プログラマーを引きつけています。
The following apply to me: (multiple choice)
2,386 (66%)
I program in Go outside of work
2,235 (62%)
I program at work in Go
2,004 (56%)
I program at work in another language
618 (17%)
I manage a programming team
337 (9%)
I am a student
78 (2%)
Other
10 (0%)
No response
データの読み方 :この質問は「複数選択」だったため、パーセンテージの合計は100%をはるかに超えています。この投稿のすべてのグラフには、合計数と完了した3,595件の調査に対する対応するパーセンテージの両方が表示されています。
I work in the following areas: (multiple choice)
2,272 (63%)
Web development
1,359 (38%)
Systems programming
1,251 (35%)
DevOps
1,169 (33%)
Network programming
1,006 (28%)
Databases
533 (15%)
Mobile
490 (14%)
Desktop/GUI applications
457 (13%)
Security
435 (12%)
Data Science
417 (12%)
Finance/Commerce
394 (11%)
Embedded devices/Internet of Things
379 (11%)
Academic/Scientific/Numeric
228 (6%)
Gaming
238 (7%)
Other
74 (2%)
No response
I've used Go for: (single choice)
432 (12%)
Less than 3 months
1,009 (28%)
3 - 12 months
829 (23%)
13 - 24 months
903 (25%)
2 - 4 years
321 (9%)
4+ years
77 (2%)
I've never used Go
24 (1%)
No response
I write the following in Go: (multiple choice)
2,247 (63%)
A runnable/interactive program (CLI)
2,174 (60%)
API/RPC services (returning non-HTML)
1,886 (52%)
Web services (returning HTML)
1,583 (44%)
Agents and daemons (e.g, monitoring)
1,417 (39%)
Libraries or Frameworks
1,209 (34%)
Data processing (pipeline, aggregation)
1,120 (31%)
Automation/scripts (e.g, deployment, configuration management)
107 (3%)
I don't write in Go
137 (4%)
Other
45 (1%)
No response
I write in Go: (single choice)
1,567 (44%)
As part of my daily routine
1,054 (29%)
Weekly
486 (14%)
Infrequently
368 (10%)
Monthly
77 (2%)
I've never written in Go
43 (1%)
No response
Rank the following languages in terms of your expertise: (ordered choice, up to 5)
3,111 (26 , 26 , 19 , 10 , 5 %)
Go
2,048 (8 , 15 , 14 , 11 , 8 %)
JavaScript
1,896 (12 , 12 , 10 , 10 , 7 %)
Python
1,618 (13 , 8 , 8 , 8 , 8 %)
Java
1,512 (8 , 8 , 9 , 9 , 7 %)
C
1,064 (2 , 4 , 7 , 8 , 8 %)
Bash
1,039 (5 , 5 , 7 , 6 , 6 %)
C++
830 (6 , 4 , 4 , 5 , 4 %)
PHP
668 (5 , 4 , 3 , 4 , 3 %)
Ruby
622 (5 , 3 , 3 , 4 , 3 %)
C#
294 (2 , 1 , 2 , 2 , 2 %)
Perl
184 (1 , 1 , 1 , 1 , 1 %)
Scala
156 (0 , 0 , 1 , 1 , 2 %)
Rust
142 (0 , 0 , 1 , 1 , 1 %)
Lua
136 (0 , 0 , 0 , 1 , 2 %)
Haskell
94 (0 , 0 , 0 , 1 , 1 %)
R
93 (0 , 0 , 0 , 1 , 1 %)
Clojure
72 (0 , 0 , 0 , 0 , 1 %)
Erlang
18 (0 , 0 , 0 , 0 , 0 %)
Julia
499 (2 , 3 , 3 , 3 , 3 %)
Other
134 (3.7%)
No response
データの読み方 :この質問は「順序選択」でした。1番目、2番目、3番目、4番目、5番目の選択肢は、棒のセクションで徐々に淡い色で表示されます。棒の横に表示されている合計数はすべての選択肢に対するものであり、パーセンテージのリストは選択肢の分割方法を示しています。
Rank the following languages in terms of your preference: (ordered choice, up to 5)
3,248 (62 , 19 , 6 , 2 , 1 %)
Go
1,796 (7 , 17 , 12 , 9 , 5 %)
Python
1,482 (3 , 9 , 13 , 10 , 8 %)
JavaScript
1,235 (2 , 8 , 9 , 9 , 6 %)
C
1,167 (3 , 7 , 8 , 7 , 7 %)
Java
809 (2 , 4 , 6 , 6 , 5 %)
C++
647 (1 , 3 , 5 , 5 , 5 %)
Bash
563 (3 , 5 , 4 , 3 , 2 %)
Ruby
557 (2 , 4 , 4 , 3 , 2 %)
C#
475 (2 , 4 , 3 , 3 , 2 %)
Rust
449 (1 , 2 , 3 , 3 , 3 %)
PHP
278 (1 , 2 , 2 , 2 , 1 %)
Haskell
215 (1 , 1 , 1 , 1 , 1 %)
Perl
214 (1 , 1 , 1 , 1 , 1 %)
Scala
178 (0 , 1 , 2 , 2 , 1 %)
Lua
168 (0 , 1 , 1 , 1 , 1 %)
Erlang
156 (1 , 1 , 1 , 1 , 1 %)
Clojure
79 (0 , 0 , 0 , 1 , 1 %)
R
43 (0 , 0 , 0 , 0 , 0 %)
Julia
507 (3 , 4 , 4 , 2 , 1 %)
Other
166 (4.6%)
No response
Goの使用状況
ユーザーはGoに圧倒的に満足しています。彼らは、Goを他の人にお勧めするかどうかを19:1の比率で同意し、次のプロジェクトにGoを使用することを好むかどうかを14:1の比率で同意し、Goがチームにとってうまく機能しているかどうかを18:1の比率で同意しています。Goが会社の成功に不可欠であるということに同意するユーザーは少ないです(2.5:1)。
Goについて最も気に入っている点を尋ねたところ、ユーザーはGoのシンプルさ、使いやすさ、並行処理機能、パフォーマンスを最も頻繁に挙げていました。Goを改善するのに最も役立つ変更点を尋ねたところ、ユーザーはジェネリクス、パッケージのバージョン管理、依存関係管理を最も頻繁に挙げていました。その他の一般的な回答には、GUI、デバッグ、エラー処理などがあります。
Goの個人的な使用における最大の課題について尋ねたところ、ユーザーは前の質問で提案された多くの技術的な変更点を挙げていました。非技術的な課題における最も一般的なテーマは、他の人を説得してGoを使用させることと、管理職を含む他の人々にGoの価値を伝えることでした。もう1つの一般的なテーマは、Goの学習や他の人を助けて学習させることであり、入門ウォークスルー、チュートリアル、例、ベストプラクティスなどのドキュメントを見つけることが含まれていました。
代表的な一般的なフィードバック(機密保持のために言い換えられています)
「ドキュメントは初心者には分かりにくすぎます。より多くの例が必要であり、多くの場合、他の言語やさまざまなコンピューターサイエンスのトピックに関する経験を前提としています。」
「職場でGoを使いたいのですが、チームにGoを試すことさえ説得するのが難しいです。」
「管理職の承認を得ることができません。彼らはGoの価値を理解しておらず、採用と開発者の発見について懸念しています。」
ユーザーとコミュニティが直面しているこれらの課題を特定するために提供されたフィードバックに感謝しています。2017年には、これらの問題に対処することに重点を置き、可能な限り多くの重要な改善を行うことを目指しています。これらの課題をGoの強みに変えるために、コミュニティからの提案と貢献を歓迎します。
To what extent do you agree or disagree with the following statements:
(strongly disagree , disagree , somewhat disagree , neutral , somewhat agree , agree , strongly agree )
3,250 (2 , 1 , 1 , 2 , 5 , 21 , 57 %)
I would recommend using Go to others (19:1)
3,219 (3 , 1 , 2 , 4 , 8 , 19 , 52 %)
I would prefer to use Go for my next new project (14:1)
2,325 (1 , 1 , 1 , 7 , 8 , 25 , 22 %)
Go is working well for my team. (18:1)
2,336 (4 , 7 , 3 , 14 , 12 , 12 , 12 %)
Go is critical to my company's success. (2.5:1)
データの読み方 :この質問では、回答者が記述された文にどの程度強く同意または不同意したかを尋ねています。各記述に対する回答は、左端の濃い赤色の「強く不同意」から右端の濃い青色の「強く同意」まで、単一のバーのセクションとして表示されます。バーは他のグラフと同じ尺度を使用しているため、特に調査の後半では、回答の不足により全体の長さが異なる場合があります(実際、異なります)。テキストの後の比率は、「やや同意」および「強く同意」を含む同意した回答者の数と、「やや不同意」および「強く不同意」を含む不同意した回答者の数を比較したものです。たとえば、Goを推薦するかどうかという記述に同意した回答者と不同意した回答者の比率は19対1でした。
What do you like most about Go?
595 (17%)
simplicity
543 (15%)
easy
523 (15%)
concurrency
495 (14%)
simple
454 (13%)
fast
293 (8%)
syntax
287 (8%)
standard library
286 (8%)
tooling
270 (8%)
static
266 (7%)
performance
235 (7%)
speed
202 (6%)
interfaces
184 (5%)
channels
183 (5%)
community
180 (5%)
good
177 (5%)
compilation
177 (5%)
goroutines
167 (5%)
binary
156 (4%)
great
148 (4%)
tools
146 (4%)
compiled
137 (4%)
compile
127 (4%)
type
124 (3%)
small
118 (3%)
c
114 (3%)
gofmt
114 (3%)
libraries
88 (2%)
clean
87 (2%)
easy to learn
82 (2%)
deployment
78 (2%)
memory
78 (2%)
strong
76 (2%)
concise
76 (2%)
single binary
73 (2%)
low
73 (2%)
static typing
71 (2%)
build
68 (2%)
easy to read
63 (2%)
fast compilation
56 (2%)
simple syntax
55 (2%)
type system
54 (2%)
simple language
51 (1%)
easy concurrency
47 (1%)
static binaries
46 (1%)
go fmt
45 (1%)
fast compile
43 (1%)
small language
41 (1%)
error handling
39 (1%)
concurrency model
39 (1%)
go routines
38 (1%)
easy to use
38 (1%)
statically typed
36 (1%)
cross platform
35 (1%)
concurrency primitives
35 (1%)
goroutines channels
33 (1%)
easy to write
27 (1%)
great standard library
23 (1%)
ease of use
940 (26%)
No response
データの読み方 :この質問では、記述式回答を求めました。上のバーは、一般的な単語またはフレーズについて言及した調査の割合を示しています。20件以上の調査で出現した単語またはフレーズのみがリストされており、「the」や「to be」のような無意味な一般的な単語やフレーズは省略されています。表示された結果は重複しています。たとえば、「標準ライブラリ」について言及した287件の回答には、「優れた標準ライブラリ」について個別に言及した27件が含まれています。ただし、ほぼまたは完全に冗長な短いエントリは省略されています。「標準ライブラリ」について言及せずに「標準」をリストした調査が20件以上ないため、「標準」のエントリは個別にありません。
What changes would improve Go most?
572 (16%)
generics
451 (13%)
management
330 (9%)
dependency
314 (9%)
package
266 (7%)
dependency management
164 (5%)
library
159 (4%)
gui
134 (4%)
package management
134 (4%)
vendoring
128 (4%)
debugger
126 (4%)
libraries
122 (3%)
standard
117 (3%)
type
109 (3%)
error
94 (3%)
system
89 (2%)
types
88 (2%)
official
85 (2%)
tools
84 (2%)
c
82 (2%)
gopath
78 (2%)
performance
70 (2%)
error handling
70 (2%)
ide
69 (2%)
package manager
66 (2%)
documentation
66 (2%)
faster
64 (2%)
good
63 (2%)
simple
63 (2%)
tool
62 (2%)
mobile
60 (2%)
debugging
57 (2%)
build
56 (2%)
packages
55 (2%)
easier
55 (2%)
standard library
55 (2%)
tooling
54 (2%)
interface
51 (1%)
dependencies
51 (1%)
generic
48 (1%)
programming
48 (1%)
versioning
47 (1%)
syntax
45 (1%)
compile
45 (1%)
solution
44 (1%)
framework
43 (1%)
examples
43 (1%)
gc
43 (1%)
type system
42 (1%)
gui library
41 (1%)
templates
40 (1%)
android
40 (1%)
community
40 (1%)
function
40 (1%)
native
40 (1%)
ui
40 (1%)
web
39 (1%)
functions
21 (1%)
cross platform
1,215 (34%)
No response
What is the biggest challenge you personally face using Go today?
249 (6.9%)
lack
206 (5.7%)
management
146 (4.1%)
libraries
129 (3.6%)
generics
127 (3.5%)
dependency management
84 (2.3%)
work
78 (2.2%)
package
76 (2.1%)
hard
68 (1.9%)
time
67 (1.9%)
good
67 (1.9%)
java
66 (1.8%)
gui
61 (1.7%)
web
60 (1.7%)
c
60 (1.7%)
debugging
59 (1.6%)
vendoring
58 (1.6%)
projects
56 (1.6%)
lack of generics
56 (1.6%)
library
51 (1.4%)
type
51 (1.4%)
write
50 (1.4%)
finding
49 (1.4%)
ide
49 (1.4%)
packages
48 (1.3%)
dependencies
46 (1.3%)
package management
45 (1.3%)
debugger
44 (1.2%)
adoption
42 (1.2%)
people
41 (1.1%)
learning
41 (1.1%)
team
40 (1.1%)
convincing
40 (1.1%)
tools
39 (1.1%)
error handling
39 (1.1%)
interfaces
39 (1.1%)
other languages
39 (1.1%)
writing
38 (1.1%)
interface
38 (1.1%)
others
37 (1.0%)
python
35 (1.0%)
find
35 (1.0%)
gopath
35 (1.0%)
programming
34 (0.9%)
can't
34 (0.9%)
standard
33 (0.9%)
build
33 (0.9%)
tooling
32 (0.9%)
generic
31 (0.9%)
boilerplate
30 (0.8%)
applications
30 (0.8%)
developers
30 (0.8%)
having
30 (0.8%)
types
30 (0.8%)
working
26 (0.7%)
at work
26 (0.7%)
using go
22 (0.6%)
no generics
20 (0.6%)
not enough
1,581 (44.0%)
No response
If it were not for the following reasons I would use Go more: (ordered choice, up to 3)
1,485 (24 , 14 , 4 %)
I work on an existing project written in another language
1,160 (16 , 12 , 4 %)
My project / team / TL prefers another language
841 (11 , 8 , 5 %)
Go isn’t an appropriate fit for what I’m working on (eg. iOS, JS)
596 (6 , 6 , 4 %)
Go lacks critical libraries
412 (6 , 3 , 2 %)
Go lacks critical features
319 (3 , 3 , 3 %)
Not enough education or support resources for Go
121 (1 , 1 , 1 %)
Go lacks critical performance
374 (4 , 3 , 3 %)
Other
1,042 (29%)
No response
If you desire, please elaborate on your reasons above.
58 (1.6%)
c
58 (1.6%)
java
58 (1.6%)
libraries
50 (1.4%)
python
47 (1.3%)
web
45 (1.3%)
generics
45 (1.3%)
work
40 (1.1%)
projects
34 (0.9%)
languages
33 (0.9%)
hard
32 (0.9%)
lack
32 (0.9%)
team
31 (0.9%)
library
31 (0.9%)
people
29 (0.8%)
gui
25 (0.7%)
good
25 (0.7%)
performance
24 (0.7%)
mobile
24 (0.7%)
written
23 (0.6%)
programming
23 (0.6%)
time
22 (0.6%)
golang
20 (0.6%)
company
20 (0.6%)
existing
20 (0.6%)
great
20 (0.6%)
php
20 (0.6%)
tools
3,033 (84.4%)
No response
開発とデプロイ
どのオペレーティングシステムでGoを開発しているか尋ねたところ、回答者の63%がLinuxを使用しており、44%がMacOSを使用しており、19%がWindowsを使用しており、複数の選択肢が許可されており、回答者の49%が複数のシステムで開発を行っています。単一のシステムを選択した回答の51%は、Linuxで29%、MacOSで17%、Windowsで5%、その他のシステムで0.2%に分割されています。
Goのデプロイは、プライベートで管理されているサーバーとホストされているクラウドサーバーでほぼ均等に分割されています。
I primarily develop Go on: (multiple choice)
2,263 (63%)
Linux
1,592 (44%)
MacOS
682 (19%)
Windows
82 (2%)
Other
434 (12%)
No response
My preferred code editor: (ordered choice, up to 2)
1,359 (25 , 13 %)
Vim
814 (14 , 9 %)
VSCode
676 (10 , 9 %)
Atom
687 (13 , 6 %)
IntelliJ
655 (10 , 8 %)
Sublime Text
305 (6 , 2 %)
Emacs
137 (2 , 2 %)
Visual Studio
153 (3 , 2 %)
LiteIDE
99 (1 , 2 %)
Eclipse
37 (1 , 1 %)
Acme
238 (4 , 3 %)
Other
425 (12%)
No response
How satisfied are you with Go support in your preferred editor: (single choice)
69 (1.9%)
Very Dissatisfied
52 (1.4%)
Dissatisfied
164 (4.6%)
Somewhat Dissatisfied
134 (3.7%)
Neither Satisfied or Unsatisfied
609 (16.9%)
Somewhat Satisfied
1,258 (35.0%)
Satisfied
838 (23.3%)
Very Satisfied
471 (13.1%)
No response
What one addition would make the biggest improvement to Go editing in your preferred editor?
180 (5.0%)
debugging
136 (3.8%)
debugger
116 (3.2%)
refactoring
79 (2.2%)
integration
72 (2.0%)
tools
68 (1.9%)
completion
58 (1.6%)
editor
46 (1.3%)
debug
43 (1.2%)
code completion
43 (1.2%)
work
41 (1.1%)
vim
40 (1.1%)
autocomplete
40 (1.1%)
vscode
37 (1.0%)
package
37 (1.0%)
plugin
36 (1.0%)
definition
36 (1.0%)
easier
36 (1.0%)
good
36 (1.0%)
ide
36 (1.0%)
intellij
35 (1.0%)
faster
35 (1.0%)
function
34 (0.9%)
atom
34 (0.9%)
interface
33 (0.9%)
vim-go
32 (0.9%)
gopath
31 (0.9%)
integrated
30 (0.8%)
working
29 (0.8%)
auto
28 (0.8%)
refactoring support
27 (0.8%)
delve
27 (0.8%)
type
26 (0.7%)
guru
26 (0.7%)
syntax
25 (0.7%)
error
25 (0.7%)
method
25 (0.7%)
packages
25 (0.7%)
plugins
24 (0.7%)
compile
24 (0.7%)
jump
23 (0.6%)
features
23 (0.6%)
find
23 (0.6%)
goimports
23 (0.6%)
navigation
23 (0.6%)
performance
23 (0.6%)
refactoring tools
23 (0.6%)
works
22 (0.6%)
autocompletion
22 (0.6%)
debugging support
22 (0.6%)
errors
22 (0.6%)
gofmt
22 (0.6%)
run
21 (0.6%)
highlighting
21 (0.6%)
save
21 (0.6%)
setup
21 (0.6%)
visual
20 (0.6%)
documentation
20 (0.6%)
great
2,291 (63.7%)
No response
My team deploys Go/non-Go programs to: (multiple choice)
1,489 (41%)
Self/Company Owned Servers (Go)
1,714 (48%)
(non-Go)
928 (26%)
AWS EC2
1,122 (31%)
503 (14%)
None
249 (7%)
412 (11%)
Digital Ocean
360 (10%)
292 (8%)
AWS Container
343 (10%)
221 (6%)
Google Compute Engine
186 (5%)
188 (5%)
Google App Engine
94 (3%)
161 (4%)
Google Container Engine (GKE)
115 (3%)
121 (3%)
Heroku
185 (5%)
114 (3%)
Microsoft Azure
210 (6%)
104 (3%)
Linode
100 (3%)
94 (3%)
AWS Lambda
233 (6%)
301 (8%)
Other
297 (8%)
639 (18%)
No response
660 (18%)
効果的な作業
Goに関するさまざまな記述にどの程度強く同意または不同意したかを尋ねました。ユーザーは、Goのパフォーマンスがニーズを満たしていること(57:1の比率で同意対不同意)、質問への回答を迅速に見つけることができること(20:1)、Goの並行処理機能を効果的に使用できること(14:1)に最も同意していました。一方、ユーザーは、Goの並行処理機能の使用を効果的にデバッグできることには最も同意していませんでした(2.7:1)。
ユーザーは、必要なライブラリを迅速に見つけることができたことに概ね同意していました(7.5:1)。まだ不足しているライブラリについて尋ねたところ、圧倒的に最も一般的な要望は、GUIを作成するためのライブラリでした。もう1つの一般的なトピックは、データ処理、分析、数値計算、科学計算に関する要望でした。
Goのドキュメントの改善方法を提案したユーザーの30%のうち、圧倒的に最も一般的な提案は、より多くの例でした。
Goのニュースの主な情報源は、Goブログ、Redditの/r/golang、Twitterです。これらの情報源は調査の発表方法でもあったため、多少のバイアスがある可能性があります。
Goの質問への回答を見つけるための主な情報源は、GoのWebサイト、Stack Overflow、ソースコードの直接閲覧です。
To what extent do you agree or disagree with the following statements:
(strongly disagree , disagree , somewhat disagree , neutral , somewhat agree , agree , strongly agree )
3,094 (1 , 2 , 5 , 6 , 27 , 32 , 12 %)
I have a good understanding of Go best practices. (9.6:1)
3,083 (0 , 1 , 3 , 4 , 17 , 41 , 20 %)
I am able to quickly find answers to my questions. (20:1)
3,053 (0 , 0 , 1 , 2 , 7 , 32 , 42 %)
Go's performance meets my needs. (57:1)
2,523 (1 , 3 , 5 , 14 , 15 , 26 , 8 %)
Go's support for language interoperability meets my needs. (6.0:1)
3,049 (1 , 2 , 6 , 7 , 24 , 34 , 11 %)
I am able to quickly find libraries that I need. (7.5:1)
3,083 (1 , 2 , 4 , 5 , 18 , 37 , 20 %)
Go language, library, and tool documentation meet my needs. (11:1)
What Go libraries do you need that aren't available today?
208 (5.8%)
gui
144 (4.0%)
library
121 (3.4%)
libraries
63 (1.8%)
native
60 (1.7%)
ui
53 (1.5%)
good
33 (0.9%)
orm
33 (0.9%)
standard
33 (0.9%)
web
32 (0.9%)
framework
32 (0.9%)
gui library
31 (0.9%)
mobile
28 (0.8%)
android
28 (0.8%)
database
28 (0.8%)
desktop
28 (0.8%)
libs
28 (0.8%)
sql
26 (0.7%)
cross platform
25 (0.7%)
processing
25 (0.7%)
xml
24 (0.7%)
api
24 (0.7%)
machine learning
24 (0.7%)
official
24 (0.7%)
windows
23 (0.6%)
soap
22 (0.6%)
toolkit
21 (0.6%)
pdf
21 (0.6%)
python
20 (0.6%)
bindings
20 (0.6%)
graphics
20 (0.6%)
package
2,498 (69.5%)
No response
What changes would most improve the Go documentation?
512 (14%)
examples
300 (8%)
more examples
134 (4%)
documentation
69 (2%)
example
62 (2%)
docs
49 (1%)
godoc
34 (1%)
usage
32 (1%)
functions
32 (1%)
package
31 (1%)
good
29 (1%)
function
29 (1%)
great
29 (1%)
packages
29 (1%)
search
28 (1%)
cases
26 (1%)
best practices
26 (1%)
libraries
23 (1%)
doc
23 (1%)
more example
22 (1%)
code examples
21 (1%)
syntax
20 (1%)
interface
2,532 (70%)
No response
To what extent do you agree or disagree with the following statements:
(strongly disagree , disagree , somewhat disagree , neutral , somewhat agree , agree , strongly agree )
3,002 (1 , 2 , 6 , 7 , 23 , 34 , 11 %)
I am able to effectively diagnose bugs in my Go programs. (7.2:1)
2,725 (1 , 2 , 6 , 13 , 22 , 24 , 7 %)
I am able to effectively diagnose performance issues in my Go programs. (5.8:1)
2,932 (1 , 2 , 3 , 5 , 17 , 33 , 22 %)
I am able to effectively use Go's concurrency features (goroutines, channels, select). (14:1)
2,801 (2 , 5 , 11 , 14 , 23 , 18 , 5 %)
I am able to effectively debug uses of Go's concurrency features (goroutines, channels, select). (2.7:1)
Rank the following in terms of where you get Go answers from: (ordered choice, up to 5)
2,226 (23 , 18 , 12 , 7 , 3 %)
Stack Overflow
2,101 (30 , 15 , 8 , 4 , 1 %)
golang.org
1,814 (13 , 17 , 12 , 7 , 2 %)
Reading source code (e.g., standard library, open-source packages)
1,200 (3 , 8 , 12 , 7 , 4 %)
GitHub
854 (3 , 7 , 7 , 5 , 3 %)
golang-nuts mailing list (groups.google.com/d/forum/golang-nuts)
682 (2 , 3 , 5 , 5 , 3 %)
Reddit (r/golang)
630 (3 , 4 , 5 , 3 , 2 %)
Coworkers
334 (2 , 2 , 2 , 2 , 2 %)
Gopher Slack (invite.slack.golangbridge.org)
214 (1 , 1 , 2 , 1 , 1 %)
Friends
161 (0 , 0 , 1 , 1 , 1 %)
Twitter
156 (1 , 1 , 1 , 1 , 0 %)
IRC
126 (0 , 1 , 1 , 1 , 1 %)
Go Forum (forum.golangbridge.org)
262 (2 , 2 , 1 , 1 , 1 %)
Other
643 (18%)
No response
Rank the following in terms of where you get Go news from: (ordered choice, up to 5)
1,659 (17 , 14 , 9 , 4 , 2 %)
blog.Golang.org
1,153 (17 , 8 , 4 , 2 , 1 %)
Reddit (r/golang)
1,053 (14 , 8 , 4 , 3 , 1 %)
Twitter
903 (6 , 8 , 6 , 3 , 1 %)
Hacker News
777 (9 , 6 , 4 , 2 , 0 %)
Golangweekly.com
633 (2 , 6 , 5 , 4 , 1 %)
Community Blogs
430 (2 , 3 , 4 , 2 , 1 %)
GitHub
418 (3 , 3 , 3 , 2 , 1 %)
golang-nuts mailing list (groups.google.com/d/forum/golang-nuts)
394 (3 , 3 , 3 , 1 , 1 %)
Coworkers
212 (1 , 1 , 2 , 1 , 1 %)
Gopher Slack (invite.slack.golangbridge.org)
203 (1 , 2 , 1 , 1 , 1 %)
Golangnews.com
199 (1 , 2 , 1 , 1 , 1 %)
golang-announce (groups.google.com/d/forum/golang-announce)
176 (1 , 1 , 1 , 1 , 1 %)
Go Time podcast
65 (0 , 0 , 0 , 1 , 0 %)
Go Forum (forum.golangbridge.org)
42 (0 , 0 , 0 , 0 , 0 %)
Facebook
160 (1 , 1 , 1 , 0 , 0 %)
Other
747 (21%)
No response
I have attended: (multiple choice)
1,315 (37%)
None
879 (24%)
A Go meetup
523 (15%)
A Go themed conference (GopherCon, GothamGo, etc)
276 (8%)
A Go remote meetup / online event
186 (5%)
Go training
165 (5%)
A technical conference for it's Go content
43 (1%)
A GoBridge event
37 (1%)
A Women Who Go event
65 (2%)
Other
993 (28%)
No response
Goプロジェクト
回答者の55%が、何らかの形でGoコミュニティとプロジェクトに貢献することに関心を示しました。残念ながら、そうするように歓迎されていると感じていると答えた人は比較的少なかったです(3.3:1)、そして、プロセスが明確だと感じている人はさらに少なかったです(1.3:1)。2017年には、貢献プロセスを改善し、すべての貢献者が歓迎されていると感じられるように継続的に取り組む予定です。
回答者は、Goプロジェクトのリーダーシップに自信を持っていることに同意しています(9:1)。しかし、プロジェクトのリーダーシップが彼らのニーズを理解していることにはるかに少ない程度で同意しており(2.6:1)、質問やフィードバックをプロジェクトのリーダーシップに気軽に伝えることができることにはさらに少ない程度で同意しています(2.2:1)。実際、これらは、回答者の半数以上が「やや同意」、「同意」、「強く同意」をマークしなかった調査の唯一の質問でした(多くの中立または回答なし)。
この調査とこのブログ投稿を通じて、連絡を取りにくいと感じている皆さんに、Goプロジェクトのリーダーシップは耳を傾けていることを伝えたいと思っています。2017年を通して、ユーザーと関わり、彼らのニーズをよりよく理解するための新しい方法を探求していきます。
I contribute to open source projects written in Go: (single choice)
1,227 (34%)
Infrequently
890 (25%)
Never
345 (10%)
Monthly
295 (8%)
Weekly
234 (7%)
As part of my daily routine
604 (17%)
No response
I have contributed or am interested in contributing in the following ways to the Go community and Projects: (multiple choice)
892 (25%)
Standard library
663 (18%)
Tools (go guru, go vet, go doc, etc)
602 (17%)
Tutorials
560 (16%)
Documentation
557 (15%)
Community support via Stack Overflow, Slack, mailing list, etc
472 (13%)
Community involvement (workgroups, meetup attendance)
440 (12%)
Being a technical mentor
374 (10%)
Toolchain (compiler, linker, etc)
275 (8%)
Go Project maintenance (issue triage)
246 (7%)
Event planning (meetup, conference, etc)
236 (7%)
Language translation
165 (5%)
General UX & Design contributions
154 (4%)
golang.org website (code, UX, IA, content, etc)
92 (3%)
Other
1,621 (45%)
No response
To what extent do you agree or disagree with the following statements:
(strongly disagree , disagree , somewhat disagree , neutral , somewhat agree , agree , strongly agree )
2,091 (1 , 3 , 5 , 19 , 10 , 14 , 6 %)
I feel welcome to contribute to Go (compiler, standard library, documentation, website) (3.3:1)
2,168 (3 , 7 , 9 , 16 , 10 , 11 , 4 %)
The process of contributing to the Go project is clear to me (1.3:1)
1,900 (1 , 2 , 5 , 22 , 8 , 11 , 3 %)
The Go project leadership understands my needs (2.6:1)
2,114 (2 , 4 , 6 , 18 , 10 , 14 , 5 %)
I feel comfortable approaching the Go project leadership with questions and feedback (2.2:1)
2,374 (1 , 1 , 3 , 12 , 9 , 24 , 15 %)
I am confident in the leadership of Go (9.0:1)
What is the biggest challenge facing the Go project today?
71 (2.0%)
community
68 (1.9%)
google
63 (1.8%)
generics
62 (1.7%)
management
49 (1.4%)
adoption
45 (1.3%)
lack
43 (1.2%)
features
43 (1.2%)
people
40 (1.1%)
dependency management
37 (1.0%)
java
32 (0.9%)
languages
31 (0.9%)
keeping
29 (0.8%)
c
27 (0.8%)
developers
27 (0.8%)
leadership
24 (0.7%)
good
24 (0.7%)
libraries
24 (0.7%)
package
23 (0.6%)
simple
21 (0.6%)
core
21 (0.6%)
feature
20 (0.6%)
programming
20 (0.6%)
team
2,771 (77.1%)
No response
調査の最後に、いくつかの属性に関する質問をしました。回答の国別分布は、golang.orgへのサイト訪問の国別分布とほぼ一致していますが、一部のアジア諸国は過小評価されています。特に、インド、中国、日本は、2016年のgolang.orgへのサイト訪問の約5%を占めていましたが、調査回答の3%、2%、1%しか占めていませんでした。
コミュニティの重要な部分は、特に過小評価されている属性の人々にとって、誰もが歓迎されていると感じさせることです。いくつかの多様性のグループにまたがる識別に関する任意の質問をしました。回答者の37%がこの質問に空白で回答し、12%が「回答しない」を選択したため、データから多くの広範な結論を出すことはできません。しかし、1つの比較は際立っています。過小評価されていると認識した9%は、「Goコミュニティに歓迎されていると感じます」という記述に7.5:1の比率で同意しており、調査全体では15:1でした。Goコミュニティをさらに歓迎できるものにすることを目指しています。GoBridgeやWomen Who Goなどの組織の取り組みを支援し、励まされています。
調査の最後の質問は単なる楽しみのためのものです。あなたの好きなGoキーワードは何ですか?おそらく当然のことながら、最も人気のある回答はgo
であり、それに続いてdefer
、func
、interface
、select
が挙げられました。
To what extent do you agree or disagree with the following statements:
(strongly disagree , disagree , somewhat disagree , neutral , somewhat agree , agree , strongly agree )
2,701 (1 , 1 , 2 , 11 , 10 , 31 , 19 %)
I feel welcome in the Go community. (15:1)
What changes would make the Go community more welcoming?
115 (3.2%)
community
52 (1.4%)
people
32 (0.9%)
r/golang
31 (0.9%)
go community
30 (0.8%)
google
30 (0.8%)
reddit
24 (0.7%)
welcoming
23 (0.6%)
official
23 (0.6%)
open
22 (0.6%)
code of conduct
21 (0.6%)
golang
21 (0.6%)
team
3,017 (83.9%)
No response
In which country do you currently reside? (single choice)
928 (26%)
United States of America
253 (7%)
Germany
168 (5%)
United Kingdom
148 (4%)
Russia
119 (3%)
France
112 (3%)
Canada
91 (3%)
India
73 (2%)
China
72 (2%)
Australia
55 (2%)
Netherlands
54 (2%)
Spain
45 (1%)
Sweden
43 (1%)
Poland
40 (1%)
Italy
36 (1%)
Brazil
36 (1%)
Switzerland
35 (1%)
Ukraine
27 (1%)
Japan
24 (1%)
Czech Republic
23 (1%)
Belgium
441 (12%)
Other
772 (21%)
No response
We want the Go community to be inclusive; we want to see how we're doing and how to improve.
Please select the groups you identify with: (multiple choice)
1,499 (42%)
I do not identify as part of an underrepresented group
438 (12%)
I prefer not to answer
101 (3%)
I identify as LGBTQIA
95 (3%)
I identify as ethnically or racially underrepresented
77 (2%)
I identify as neurodiverse or as having a disability
49 (1%)
I identify as a woman
47 (1%)
Write-in: objection to the question.
38 (1%)
I identify as part of an underrepresented group, but I prefer not to specify
34 (1%)
I identify with an underrepresented group not listed.
1,332 (37%)
No response
Just for fun: What is your favorite Go keyword?
854 (24%)
go
455 (13%)
defer
253 (7%)
func
240 (7%)
select
227 (6%)
interface
145 (4%)
struct
139 (4%)
chan
129 (4%)
range
67 (2%)
fallthrough
56 (2%)
switch
53 (1%)
for
48 (1%)
type
47 (1%)
map
44 (1%)
goto
36 (1%)
import
22 (1%)
if
20 (1%)
package
19 (1%)
var
17 (0%)
const
14 (0%)
continue
13 (0%)
return
12 (0%)
break
3 (0%)
else
2 (0%)
case
2 (0%)
default
678 (19%)
No response
Is there anything else you would like to share with us?
95 (2.6%)
thanks
94 (2.6%)
great
86 (2.4%)
thank you
47 (1.3%)
keep up the good work
47 (1.3%)
programming
43 (1.2%)
community
39 (1.1%)
c
37 (1.0%)
awesome
33 (0.9%)
i love
31 (0.9%)
people
29 (0.8%)
golang
27 (0.8%)
great work
27 (0.8%)
java
27 (0.8%)
languages
26 (0.7%)
fun
26 (0.7%)
job
26 (0.7%)
time
25 (0.7%)
love go
24 (0.7%)
generics
24 (0.7%)
team
23 (0.6%)
projects
22 (0.6%)
best
22 (0.6%)
wish
22 (0.6%)
years
21 (0.6%)
simple
2,886 (80.3%)
No response