Go turns 10: What does the next decade have in store?
Blow out the candles, and make a wish. We are taking a tour of Golang’s growth from the new kid on the block to one of the most used programming languages of our era. It’s not just the cute mascot that draws in programmers (but it doesn’t hurt)! Take a look at what the language is commonly used for and what future plans are in store for the coming years in Go version 2.
Go celebrated double digits on November 8, 2019. Golang has officially been an open source programming language for ten years! 👏🎈
The decade has evolved the language and added to its rich ecosystem, as well as a bustling community of programmers around the world.
How does its trajectory look for the next decade? Let’s check out the growth of Go and make some predictions as to where the language will be when it celebrates its 20th birthday in 2029.
Go by the numbers
According to research by Google’s Russ Cox, Go is currently used by at least one million developers across the world. On GitHub, the language has received over 65.7k stars and 9.3k forks, with over 1,400 contributors and 42,000 commits.
Its use is rising, albeit slowly for now. The 2019 Stack Overflow Developer Survey claims that 8.2% of developers use Golang in some capacity. This is a slight rise compared to the 2017 results, where only 7.1% used the language. In 2019, of those who program in Go, 67.9% say they want to continue working with it.
Currently, 90% of Go developers would recommend the language to others and 89% of devs are happy with its current state.
— Go (@golang) November 8, 2019
In the enterprise
An article by Kevin Goslar for Hackernoon theorized that Go can become the next “enterprise programming language”. Can it replace the almighty Java?
Companies and open-source initiatives looking for a safe and forward-looking technology choice for creating large-scale cloud infrastructures in the coming decades are well advised to consider Go as their primary programming language.
Its usage at work is indeed on the rise. According to a 2018 survey, 72% of Go users program in the language at work, compared to just 68% in 2017.
For all intents and purposes, Golang owns the cloud. Cloud software such as Docker, Kubernetes, Prometheus, Istio, and Terraform are all written in Go. The Go Cloud Development Kit allows devs to deploy cloud apps on any cloud provider and portable cloud programming.
Go is used for a wide range of use cases and domains. Devs use it in web development, DevOps, network programming, API services, automation, CLI tools, and more.
Will it ever add generics?
Of course, nothing is perfect. One of the most commonly heard complaints about the language is its lack of generics.
In the latest Go Survey, 7% of developers said that the biggest challenge they face is the language’s lack of generics. Respondents also agreed that this missing feature makes it difficult to persuade newcomers to give the language a try.
Why add generics? Ian Lance Taylor presented a talk at Gophercon 2019 examining what it would mean to add generics to the language.
…generic programming enables the representation of functions and data structures in a generic form, with types factored out. That’s exactly what we want here.
Ian Lance Taylor
Taylor writes that the development team is currently working on actual implementations for experimenting with generics.
Go 2: The gopher strikes back
A sequel can change all that comes before it and either ruin a good thing with too many bells and whistles or polish it to a perfect shine. Golang version 2 is on the eventual horizon and is seeking feedback on potential designs.
The current draft designs include:
Track its status here and keep up on the changes and eventual roadmap.