The latest Go survey confirms developers see Golang's lack of generics and dependency management as the two biggest issues with the language. Notwithstanding, this survey marks the first time more respondents use Go professionally than for personal projects.
The lack of generics and dependency management in Go has likely become one of the major factors that slow Go adoption down. The number of survey respondents who say Go's lack of critical features is the reason why they do not use Go has indeed increased since last year. On the contrary, the number of respondents who don’t see Go as an appropriate fit for their projects has decreased.
According to Google engineer Steve Francia, the Go team will try to address developers’ concerns and both generics and dependency management will be a major focus for Go through 2018. Specifically, the Go team launched the Experience Reports wiki to better handle feedback and concerns from the community. Although Francia says important work has already been done through 2017 to change the way Go obtains and builds packages, no definitive roadmap has been provided for either of the issues.
Another interesting insight provided by the survey is that Go for the first time is prevalently used to build API and RPC services rather than CLI programs. This is in line with Go's design as a language for the Cloud, and is a trend the Go team expects to grow in the future.
Most of the other metrics provided by the 2017 survey reaffirm last year's results. In particular, Linux is the most used OS to develop Go on; Visual Studio Code is the preferred editor, along with Vim; deployment is evenly split between owned servers and the Cloud, with AWS hosting taking the lead.
An area where some improvement is needed is making clear how to contribute to the Go project. Indeed, the number of developers saying they would like to contribute to Go development rose from 55% to 59%, but a significant portion of respondents said it was not clear to them how they could do this. Finally, a positive note went to the community, which was identified as making a growing number of participants feel welcome.