The latest Go developer survey suggests developers still experience the same pain points with the Google-backed programming language – although satisfaction amongst users remains overwhelmingly high.
More organizations are relying on the Google-backed Go programming language for important business applications, yet developers feel that the language is still missing a number of crucial features.
The Go project has released the results of its 2020 developer survey, which last year pulled in 9,648 responses from people who use the programming language at work or at home.
SEE: 10 ways to prevent developer burnout (free PDF) (TechRepublic)
Much like previous years, the survey quizzed Go users on their work with the programming language; how often they contributed to Go projects; the platforms they used to program and how satisfied they were with specific language features.
For the first time, the Go developer survey asked respondents how satisfied they were with the programming language overall: 92% of respondents said they were very or somewhat satisfied using Go during the past year.
Developers rate Go’s build speed, reliability, concurrency and CPU usage most highly. As such, 91% of respondents said they would prefer to use Go for their next project, and 89% said Go was working well to their team – reflecting similar sentiments to Go’s 2019 survey.
Familiar pain points
While two-thirds (66%) of respondents said Go was critical to their company’s success, developers also feel the language is still falling short in areas highlighted in previous years.
Among the 26% of respondents who said the language lacks features they need, 88% cited generics as a critical omission. In 2019, 80% of developers highlighted the same issue.
Error handling remains a big issue among Go developers – in fact, more respondents cited better error handling as a critical missing feature in 2020 (58%) than they did in 2019 (22%). Null safety (44%), functional programming features (42%) and a stronger/expanded type system (41%) were other missing features highlighted by Go developers.
Other areas for improvement highlighted by the survey included refactoring and debugging.
A majority of respondents (63%) reported spending 10–30% of their time refactoring, which Google’s Alice Merrick said suggested “that this is a common task and we want to investigate ways to improve it.”
The survey also found that 27% of developers don’t know how to get started with Go’s debugging tools, while almost a quarter (24%) had never tried using them. “There’s an opportunity to improve the debugger tooling in terms of discoverability,” Merrick said.
Despite this, the main reason developers don’t use Go more is because they are either working on an existing project written in another language (54%) or because their team prefers using another language (33%). According to RedMonk’s latest rankings, Go is the 16th most popular programming language globally.
Unlike last year, the survey didn’t provide a breakdown of the other programming languages used amongst Go developers, which in 2019 highlighted
Favored by smaller companies
Developers mostly use Go at work (76%), but 63% of respondents said they also use the programming language away from the workplace. Organizations with 5,000 or more employees were less likely to use Go than smaller companies, the survey revealed. Primarily, Go developers work in organizations within the technology industry (46%), followed by financial services (12%) and media/gaming (7%).
The majority of Go users (68%) use ithe language for web development. Other common areas include databases (46%), DevOps (42%) and network programming (41%).
This year, the survey also asked respondents what their primary role was within their organization. The majority (70%) of Go users are responsible for developing software and applications, while 10% design systems and architectures, 6% oversee cloud and platform deployment, and 4% maintain IT systems and architecture.
As in prior years, the vast majority of survey respondents reported working with Go on Linux (63%) and macOS (55%) systems. The proportion of respondents who primarily develop on Linux is down slightly from 66% in 2016.
Just under a fifth (19%) of Go users program on Windows. Even so, Microsoft’s popular Visual Studio Code editor remains the most popular editor, used by 41% of programmers. This is followed by goLand (35%); together these editors made up 76% of responses, with Go pointing out that editor preferences appeared to have stabilized for the first time.
Of course, Go was primarily designed for cloud and distributed computing systems. The 2020 developer survey found that most programming teams used
to deploy Go programs (44%), followed by self-owned or company-owned servers (43%), and
saw a significant increase from 7% in 2019 to 12% in 2020.
Overall, a majority of respondents were satisfied with using Go on the three major cloud providers – AWS, GCP and Azure – with developers reporting similar satisfaction levels with Go development for AWS (82%), GCP (80%) and Azure (58%) as they did in 2019.