_content/blog/survey2016/usage.html
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)
Reading the data: This question asked how strongly the respondent agreed or disagreed with the statement. The responses for each statement are displayed as sections of a single bar, from “strongly disagree” in deep red on the left end to “strongly agree” in deep blue on the right end. The bars use the same scale as the rest of the graphs, so they can (and do, especially later in the survey) vary in overall length due to lack of responses. The ratio after the text compares the number of respondents who agreed (including “somewhat agree” and “strongly agree”) to those who disagreed (including “somewhat disagree” and “strongly disagree”). For example, the ratio of respondents agreeing that they would recommend Go to respondents disagreeing was 19 to 1.
What do you like most about Go?595 (17%)simplicity543 (15%)easy523 (15%)concurrency495 (14%)simple454 (13%)fast293 (8%)syntax287 (8%)standard library286 (8%)tooling270 (8%)static266 (7%)performance235 (7%)speed202 (6%)interfaces184 (5%)channels183 (5%)community180 (5%)good177 (5%)compilation177 (5%)goroutines167 (5%)binary156 (4%)great148 (4%)tools146 (4%)compiled137 (4%)compile127 (4%)type124 (3%)small118 (3%)c114 (3%)gofmt114 (3%)libraries88 (2%)clean87 (2%)easy to learn82 (2%)deployment78 (2%)memory78 (2%)strong76 (2%)concise76 (2%)single binary73 (2%)low73 (2%)static typing71 (2%)build68 (2%)easy to read63 (2%)fast compilation56 (2%)simple syntax55 (2%)type system54 (2%)simple language51 (1%)easy concurrency47 (1%)static binaries46 (1%)go fmt45 (1%)fast compile43 (1%)small language41 (1%)error handling39 (1%)concurrency model39 (1%)go routines38 (1%)easy to use38 (1%)statically typed36 (1%)cross platform35 (1%)concurrency primitives35 (1%)goroutines channels33 (1%)easy to write27 (1%)great standard library23 (1%)ease of use940 (26%)No response
Reading the data: This question asked for write-in responses. The bars above show the fraction of surveys mentioning common words or phrases. Only words or phrases that appeared in twenty or more surveys are listed, and meaningless common words or phrases like “the” or “to be” are omitted. The displayed results do overlap: for example, the 287 responses that mentioned “standard library” do include the 27 listed separately that mentioned “great standard library.” However, nearly or completely redundant shorter entries are omitted: there are not twenty or more surveys that listed “standard” without mentioning “standard library,” so there is no separate entry for “standard.”
What changes would improve Go most?572 (16%)generics451 (13%)management330 (9%)dependency314 (9%)package266 (7%)dependency management164 (5%)library159 (4%)gui134 (4%)package management134 (4%)vendoring128 (4%)debugger126 (4%)libraries122 (3%)standard117 (3%)type109 (3%)error94 (3%)system89 (2%)types88 (2%)official85 (2%)tools84 (2%)c82 (2%)gopath78 (2%)performance70 (2%)error handling70 (2%)ide69 (2%)package manager66 (2%)documentation66 (2%)faster64 (2%)good63 (2%)simple63 (2%)tool62 (2%)mobile60 (2%)debugging57 (2%)build56 (2%)packages55 (2%)easier55 (2%)standard library55 (2%)tooling54 (2%)interface51 (1%)dependencies51 (1%)generic48 (1%)programming48 (1%)versioning47 (1%)syntax45 (1%)compile45 (1%)solution44 (1%)framework43 (1%)examples43 (1%)gc43 (1%)type system42 (1%)gui library41 (1%)templates40 (1%)android40 (1%)community40 (1%)function40 (1%)native40 (1%)ui40 (1%)web39 (1%)functions21 (1%)cross platform1,215 (34%)No response
What is the biggest challenge you personally face using Go today?249 (6.9%)lack206 (5.7%)management146 (4.1%)libraries129 (3.6%)generics127 (3.5%)dependency management84 (2.3%)work78 (2.2%)package76 (2.1%)hard68 (1.9%)time67 (1.9%)good67 (1.9%)java66 (1.8%)gui61 (1.7%)web60 (1.7%)c60 (1.7%)debugging59 (1.6%)vendoring58 (1.6%)projects56 (1.6%)lack of generics56 (1.6%)library51 (1.4%)type51 (1.4%)write50 (1.4%)finding49 (1.4%)ide49 (1.4%)packages48 (1.3%)dependencies46 (1.3%)package management45 (1.3%)debugger44 (1.2%)adoption42 (1.2%)people41 (1.1%)learning41 (1.1%)team40 (1.1%)convincing40 (1.1%)tools39 (1.1%)error handling39 (1.1%)interfaces39 (1.1%)other languages39 (1.1%)writing38 (1.1%)interface38 (1.1%)others37 (1.0%)python35 (1.0%)find35 (1.0%)gopath35 (1.0%)programming34 (0.9%)can't34 (0.9%)standard33 (0.9%)build33 (0.9%)tooling32 (0.9%)generic31 (0.9%)boilerplate30 (0.8%)applications30 (0.8%)developers30 (0.8%)having30 (0.8%)types30 (0.8%)working26 (0.7%)at work26 (0.7%)using go22 (0.6%)no generics20 (0.6%)not enough1,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 language1,160 (16, 12, 4%)My project / team / TL prefers another language841 (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 libraries412 (6, 3, 2%)Go lacks critical features319 (3, 3, 3%)Not enough education or support resources for Go121 (1, 1, 1%)Go lacks critical performance374 (4, 3, 3%)Other1,042 (29%)No response
If you desire, please elaborate on your reasons above.58 (1.6%)c58 (1.6%)java58 (1.6%)libraries50 (1.4%)python47 (1.3%)web45 (1.3%)generics45 (1.3%)work40 (1.1%)projects34 (0.9%)languages33 (0.9%)hard32 (0.9%)lack32 (0.9%)team31 (0.9%)library31 (0.9%)people29 (0.8%)gui25 (0.7%)good25 (0.7%)performance24 (0.7%)mobile24 (0.7%)written23 (0.6%)programming23 (0.6%)time22 (0.6%)golang20 (0.6%)company20 (0.6%)existing20 (0.6%)great20 (0.6%)php20 (0.6%)tools3,033 (84.4%)No response