Goブログ

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であり、それに続いてdeferfuncinterfaceselectが挙げられました。

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

次の記事:HTTP/2サーバープッシュ
前の記事:Go 1.8がリリースされました
ブログインデックス