Why Google Can’t Let Go of Golang
Google’s recent layoffs in the Flutter, Dart, and Python teams just weeks before its big developer conference have raised some eyebrows in the tech community. The roles cut were reportedly relocated to locations like India and Mexico, aiming to streamline operations and reduce layers within the company. While it could afford to let go of the other teams, Golang, Google’s home-grown programming language, isn’t going anywhere.
That’s because Golang code runs behind the scenes to keep everything humming, from the Google Cloud Platform to YouTube and the Google Play Store. The language has become critical to many of Google’s core products and infrastructure.
Letting go of the Golang team would mean disrupting the very foundation that powers much of Google’s software ecosystem.
“If Google abandons it, which it never will, others will jump onto it quickly… including Microsoft and Amazon,” pointed out a user on Reddit. That’s why, even in the face of shifting priorities, Google can’t afford to let Go go.
Further, he said that Microsoft has its own version of Go. This version is built to be FIPS compliant for government and private use along with a parallel fork of the language allowing them to have their own version of the programming language.
Golang at Google
Google needed a language that could handle the scale and complexity of its software engineering, with features like fast compilation, easy concurrency, and efficient memory management. Existing languages simply weren’t cutting it.
Until then C++ projects had to use a cluster to speed up compile times. This slowed up the compilation times and was not well-suited to manage massive computation clusters or building web-scale applications.
“The problems introduced by multicore processors, networked systems, massive computation clusters, and the web programming model were being worked around rather than addressed head-on,” Rob Pike, the co-creator of the language, wrote.
But perhaps Go’s biggest impact was in the cloud-native space. In 2014, Google used Go to develop and launch Kubernetes, the open-source container orchestration platform that has since become the de facto standard.
Pike clarified that it was used beyond Kubernetes. “The language took over the cloud world – Grant, Docker, Kubernetes, Envoy, Pantheon, essentially everything in the cloud native computing foundation. Go is the language for cloud infrastructure,” he said.
Go’s success within Google has only grown over the years. Recent case studies highlight the shift from monolithic C++ pipelines to Go microservices for Google Search indexing. Another study shows the Chrome optimisation guide server delivering faster page loads to millions of mobile users daily using Go.
Additionally, Firebase that deploys web applications and static content has migrated its backend from Node.js to Go for improved concurrency and efficiency. It also replaced the programming language Sawzall for Google’s search quality analysis.
Go-ing Beyond Google
Go’s importance extends far beyond Google’s walls. Since its open-source release in 2009, Go has been used by developers around the world for its ease of use, performance, and growing ecosystem of libraries and tools.
Popularly, it powers the configuration management tool Terraform, the distributed SQL database CockroachDB, and the time series database InfluxDB.
Major companies like Uber, Twitch, Dropbox, and Salesforce have bet big on Go for critical parts of their infrastructure. Salesforce, in particular, switched from Python to Go for its Einstein Analytics platform.
According to principal architect Guillaume Le Stum, “In Python, you could write super-elegant list comprehensions and beautiful code that’s almost mathematical. But if you didn’t write the code, then that elegance can come at the expense of readability.”
What’s Next for Go?
Developed in 2007 by Rob Pike, Ken Thompson and Robert Griesemer, the language intended to address the challenges in building and maintaining large-scale networked servers. Existing languages at the time didn’t provide the right tools for this complex environment.
As Go enters its second decade, the growing popularity has seeped into the open source community as well. The 2024 Go developer survey found that 93% of respondents were satisfied with Go, and 80% said they trust the Go team to ‘do what’s best’ for developers like themselves.
Looking back, Pike wished that Go had included support for arbitrary precision integers from the beginning. “There’s still a debate going on about how we handle the integer overflow,” he said.
He also expressed interest in seeing the compiler do more automatic checking of Go’s dynamic interfaces and potential deadlocks caused by resource sharing.
Apart from this, there is also a growing interest in using Go for AI and machine learning workloads, with 81% of respondents using OpenAI’s models and 53% using open-source models like Llama and Mistral.
One respondent even said, “If there were frameworks in Go to run these models, we’d much rather be doing that.”
The post Why Google Can’t Let Go of Golang appeared first on Analytics India Magazine.




