The project behind Go, an open-source programming language developed within Google, has surveyed thousands of software developers to uncover what technology they're using and the pain points of using the language.
The Go project has now released the results of its 2019 survey of 10,975 Go users, most of whom use Go daily. It found that 86% of respondents feel Go works well for their teams and that 89% would like to use it for their next project, showing little change since 2016.
Go developers are satisfied with the performance aspects they rate as important, including build speed, CPU usage, reliability, editor support, and memory footprint. Areas they are less satisfied with include debugging, using cloud services, and using modules.
These preferences haven't changed much over the years, with the exception of TypeScript and Rust, which both record an increase in the number of Go users who find them appealing. However, most Go developers prefer Python.
Some 66% of Go programmers use the language for web development, while 45% use it for building databases, 42% use it in network programming, 38% use it in systems programming, and 37% use Go in DevOps.
Go users largely are keeping up with new releases of Go, with 75% moving to the latest version for production use within five months of its release, and 12% moving up within the first year. Google's Todd Kulesza said this trend highlighted "the importance for platform-as-a-service providers to quickly support new stable releases of Go".
The question of Go support by major cloud providers has affected Go developers' attitudes toward Amazon Web Services, Google Cloud Platform (GCP), and Microsoft Azure.
Notably fewer Go developers are satisfied with Go development on Azure compared with AWS and GCP. Only 57% of Azure users are satisfied, compared with 80% for AWS and 78% for GCP. A quarter of free-text responses noted Azure's lack of first-class-support for Go, meaning that Azure isn't keeping current with the latest Go releases and features.
Nonetheless, use of the big three cloud providers is up across the board, but AWS still has a huge lead over rivals, with 42% of respondents deploying Go programs to it, nearly matching the 44% who deploy them on their own servers. Some 24% of respondents deploy Go code on GCP, while 7% deploy Go on Azure.
But Microsoft's popular editor Visual Studio Code (VS Code) remains the most popular choice for Go developers, with 41% using it. However, GoLand grew from 24% last year to 34%. The two editors are used by 75% of the Go developer population.
The order of OSes that most Go developers use for building are Linux, macOS, and Windows. A third report only using Linux, 26% only use macOS, 23% use macOS and Linux, 9% use Linux and Windows, and 6% use only Windows.
The main reason Go users aren't using Go more is because they're working on a project written in another language, but a quarter of users report Go is lacking critical features and nearly 80% of them cite generics or Go's lack of generic types, while 22% said it needs better error handling, and 13% want more functional programming features.
"All three of these are areas of focus for the Go team this year, and we hope to greatly improve the developer experience, particularly around modules, tooling, and the getting started experience, in the coming months," said Google's Kulesza.