ありがとうございます
この記事では、2016 年 12 月に実施したユーザーアンケートの結果を、Go チームのコメントと洞察を交えて要約します。Go の未来を形作るのに役立つフィードバックをアンケートを通じて提供してくださった皆様に感謝いたします。
プログラミングのバックグラウンド
3,595 人のアンケート回答者のうち、89% が職場で、または職場の外で Go をプログラミングしていると回答しました。そのうち 39% が自宅と職場の両方で Go を使用し、27% が自宅のみで Go を使用し、23% が職場のみで Go を使用しています。
人々がどのような分野で仕事をしているかを尋ねました。63% がウェブ開発で仕事をしていると回答しましたが、ウェブ開発のみを挙げたのは 9% に過ぎませんでした。実際、77% が 2 つ以上の分野を選択し、53% が 3 つ以上を選択しました。
また、人々が Go でどのような種類のプログラムを記述しているかを尋ねました。回答者の 63% がコマンドラインプログラムを記述し、60% が API または RPC サービスを記述し、52% がウェブサービスを記述しています。前の質問と同様に、ほとんどの人が複数の選択肢を選び、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」のような意味のない一般的な単語やフレーズは省略されています。表示される結果は重複しています。たとえば、「standard library」に言及している 287 件の回答には、別にリストされている「great standard library」に言及している 27 件が含まれています。ただし、ほとんどまたは完全に冗長な短いエントリは省略されています。「standard library」に言及せずに「standard」を挙げたアンケートは 20 件以上ないため、「standard」の個別エントリはありません。
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 ウェブサイト、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