Every year Go officials organize a survey of Go developers, and last year was no exception. But after I finished the investigation and collected the information, I disappeared...otherwise, the community and friends at a certain time would ask me where they could see it.
No, recently the official finally released the "Go Developer Survey 2021 Results[1]", I translated it directly (some are deleted (minus, only the key content is shown), you can take a look and understand the development of Go community.
Our demographics have remained stable year over year (see 2020 results). Consistent with previous years, Go is primarily used in the technology industry. 70% of respondents are software developers, with a few in IT or DevOps, and 76% say they program in Go at work.
Some new demographic data for 2021:
We want to see how introducing generics affects or addresses underlying needs around Go's type system before making more changes.
Currently, we will gather more information about the background of these requirements and may explore different ways to meet these requirements in the future, such as through tools, libraries, or modifications to the type system.
As for the missing libraries, there is no clear consensus on what kind of libraries would be added that would unlock the biggest percentage of people who want to adopt Go. This requires further exploration.
So, when respondents don’t choose Go, what do they choose instead?
Rust, Python, and Java are the most common choices.
Rust and Go have complementary feature sets, so when Go doesn’t meet a project’s functional needs, Rust may be a good choice.
The main reason to use Python is the lack of libraries and existing infrastructure support, so Python's large package ecosystem may make it difficult to convert to Go.
Similarly, the most common reason for using Java is missing functionality in Go, which may be alleviated by the introduction of generics in version 1.18.
Let’s look at what Go does well and where it can improve.
Consistent with last year, 92% of respondents said they were very satisfied or somewhat satisfied with their use of Go in the past year.
This year, we’re introducing a new question to explore other ways to prioritize work in specific areas.
Question: "Suppose you had 10 GopherCoins that could be used to improve the following aspects of Go's work. How would you allocate your coins?"
Two areas that stand out are dependency management ( using modules) and diagnosing errors, these are areas where we will invest resources in 2022.
The most common challenges with Go dependency management are:
Related to versions, 9% of responses discussed version management or updating dependencies. Rounding out the top five were challenges around private repositories (including certification for GitLab) and remembering different go mod commands and understanding their error messages.
As in previous years, the vast majority of respondents reported running on Linux (63%) and macOS (55%) systems Use Go. There appears to be a slight downward trend in the proportion of respondents who primarily develop on Linux over time.
Of the respondents surveyed who use the VSCode plugin, 91% prefer using VSCode when using Go.
Over 90% of respondents target Linux! Although more respondents develop on macOS than Windows, they more often deploy to Windows than macOS.
Overall review of our 2021 developer survey results To reiterate, some key takeaways.
To put it simply, it is thriving, and most people are satisfied with Go.
The biggest contradiction is generics and dependency management. Generics have been released in Go1.18, dependency management continues to be improved, and debugging tool optimization will also be increased.
The above is the detailed content of '2021 Go Official Developer Survey Report'. For more information, please follow other related articles on the PHP Chinese website!