Interest in the Go programming language continues to rise, but some developers aren’t using it as much as they would like to. The team behind the Go programming language has released their annual Go developer survey, with data from 2019.

According to the report, the reasons why developers can’t use Go more is because they are working on a project in another language (56%), working on a team that prefers another language (37%), and the lack of a critical feature in Go (25%). Critical features missing include generics, better error handling, functional programming features, stronger type system, enums/sum types/null safety, increased expressivity, and improved performance and runtime control. However, the Go team finds the number of developers that prefer a different language decreases every year.

Areas for improvement in the language include improving the debugging experience, working with modules, and working with cloud services. 

The developer’s dilemma: Choosing between Go and Rust
More developers using Go at work

Sentiments towards the language remain mainly positive, with 89% of respondents indicating that they’d like to use Go for their next project and 86% saying Go is working well for their teams. Over half of respondents believe that Go is critical to the success of their companies. 

Additionally, the results found Go is still concentrated in technology companies and struggles to find its footing at non-technology companies. Forty-three percent of respondents reported they worked for a technology organization. The next highest on the list was financial services, with just 12% of respondents. Other organization types include media and gaming (9%), retail (7%), telecommunications (5%), and healthcare (4%).

The report also found that a lot of Go developers are relatively new. Fifty-six percent of respondents stated that they had been using Go for less than two years. They also found that newer Go developers had different technical backgrounds than those who had been using Go for a long time. “These Go veterans were more likely to claim expertise in C/C++ and less likely to claim expertise in JavaScript, TypeScript, and PHP,” the report stated. Interestingly, the report found that regardless of experience, Python was the language most familiar to respondents. 

Other findings included: majority of respondents use Go every day, Go is used for building API/RPC services and CLIs, teams try to update to the latest Go release quickly, and almost everyone in the ecosystem is using modules.

The survey was based on 10,975 responses, which is almost double the previous year. The team also noted that the demographics of respondents was similar to Stack Overflow’s survey respondents.