days
-6
-1
hours
0
-1
minutes
-4
-8
seconds
-2
-4
search
Here's to 100 more

Go turns 10: What does the next decade have in store?

Sarah Schlothauer
#go
go
© Shutterstock / justesfir

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.

go

Gopher Artwork by Ashley McNamara. Gopher design by Renee French

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.

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?

Goslar writes:

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.

go

Charting the TIOBE Index results. Source.

Common uses

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.

SEE ALSO: Taking the Scissors away: Make your Kubernetes Cluster safe for DevOps

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.

Other commonly used open source projects include Helm, k9s, Gin, and TinyGo.

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.

SEE ALSO: IoT and cloud: handling data storage issues

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:

Error handling:

Error values:

Generics:

Track its status here and keep up on the changes and eventual roadmap.

Author
Sarah Schlothauer

Sarah Schlothauer

All Posts by Sarah Schlothauer

Sarah Schlothauer is an assistant editor for JAXenter.com. She received her Bachelor's degree from Monmouth University and is currently enrolled at Goethe University in Frankfurt, Germany where she is working on her Masters. She lives in Frankfurt with her husband and cat. She is also the editor for Conditio Humana, an online magazine about ethics, AI, and technology.

Leave a Reply

Be the First to Comment!

avatar
400
  Subscribe  
Notify of