Back to Json Iterator

Usage

_content/blog/survey2017/usage.html

latest5.6 KB
Original Source

To what extent do you agree or disagree with the following statements: (strongly disagree, disagree, somewhat disagree, neither agree nor disagree, somewhat agree, agree, strongly agree)5,938 (2, 0.8, 1, 2, 5, 21, 64%)I would recommend using Go to others (26:1) [32:1]5,928 (2, 1, 2, 4, 8, 20, 58%)I would prefer to use Go for my next new project (17:1) [23:1]4,548 (1, 0.8, 1, 7, 9, 23, 31%)Go is working well for my team (21:1) [26:1]4,716 (5, 6, 4, 17, 14, 14, 17%)Go is critical to my company’s success (3.1:1) [3.1: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. The second ratio (within the brackets) is simply a weighted ratio with each somewhat = 1, agree/disagree = 2, and strongly = 4.

What is the biggest challenge you personally face using Go today? 582 (9.3%)lack489 (7.9%)generics402 (6.5%)management277 (4.4%)libraries266 (4.3%)dependency management194 (3.1%)lack of generics159 (2.6%)package137 (2.2%)gui137 (2.2%)library132 (2.1%)good132 (2.1%)work122 (2.0%)time115 (1.8%)enough114 (1.8%)error handling113 (1.8%)type109 (1.8%)learning106 (1.7%)projects104 (1.7%)hard97 (1.6%)team91 (1.5%)dependencies91 (1.5%)java87 (1.4%)c82 (1.3%)debugging81 (1.3%)no generics81 (1.3%)vendoring79 (1.3%)package management79 (1.3%)programming77 (1.2%)gopath76 (1.2%)features76 (1.2%)types75 (1.2%)people74 (1.2%)web73 (1.2%)python73 (1.2%)write68 (1.1%)development67 (1.1%)generic67 (1.1%)writing66 (1.1%)difficult64 (1.0%)interface64 (1.0%)tools63 (1.0%)missing62 (1.0%)performance60 (1.0%)interfaces60 (1.0%)standard58 (0.9%)community58 (0.9%)packages56 (0.9%)build56 (0.9%)well55 (0.9%)best55 (0.9%)cgo55 (0.9%)debugger55 (0.9%)ide55 (0.9%)other languages55 (0.9%)verbose54 (0.9%)boilerplate54 (0.9%)finding54 (0.9%)learn53 (0.9%)not enough2,956 (47.5%)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 20 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 402 responses that mentioned “management” do include the 266 listed separately that mentioned “dependency management” and the 79 listed separately that mentioned “package management.” However, nearly or completely redundant shorter entries are omitted: there are not twenty or more surveys that listed “dependency” without mentioning “dependency management,” so there is no separate entry for “dependency.”

If it were not for the following reasons I would use Go more: 3,077 (31, 14, 4%)I work on an existing project written in another language2,152 (14, 16, 5%)My project / team / TL prefers another language1,218 (10, 5, 4%)Go lacks critical features1,100 (6, 7, 4%)Go lacks critical libraries1,056 (6, 6, 4%)Go isn't appropriate for what I'm working on643 (4, 4, 3%)Not enough education or support resources for Go311 (2, 2, 1%)Go lacks critical performance790 (5, 4, 3%)Other1,309 (21%)No response

Which of the following functionality have you implemented (multiple choice)3,262 (52%)Writing logs/metrics3,123 (50%)Reading/updating configuration2,771 (45%)User login and authentication2,748 (44%)Process to process communication2,504 (40%)Service authentication/authorization2,056 (33%)Health checking1,138 (18%)Keys & secret maintenance831 (13%)Distributed caching532  (9%)Distributed tracing1,269 (20%)No response

Which of the following do you access from Go: (multiple choice)3,784 (61%)Open Source Relational DB (MySQL/PostgreSQL/CockroachDB)2,400 (39%)Memory Cache (Redis/memcache)2,005 (32%)Cloud Storage (S3/Google Cloud Storage/Azure Storage/Minio)1,891 (30%)Open Source NoSQL DB (MongoDB/Cassandra)1,606 (26%)Authentication and federation (SSO/LDAP/OAuth)1,546 (25%)Distributed Key-Value store (etcd/consul)657 (11%)Proprietary Relational DB (Oracle/DB2/MSSQL/Sybase)459  (7%)Distributed Lock Service (zookeeper)1,367 (22%)No response

20162017If it were not for the following reasons I would use Go more:3,077 (31,14,4%)I work on an existing project written in another lang2,152 (14,16,5%)My project / team / TL prefers another language1,218 (10,5,4%)Go lacks critical features1,100 (6,7,4%)Go lacks critical libraries1,056 (6,6,4%)Go isn't appropriate for what I'm working on643 (4,4,3%)Not enough education or support resources for Go311 (2,2,1%)Go lacks critical performance790 (5,4,3%)Other1,309 (21%)No responseIf it were not for the following reasons I would use Go more:1,485 (24,14,4%)I work on an existing project written in another lang1,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 on596 (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,0.8%)Go lacks critical performance374 (4,3,3%)Other1,042 (29%)No response