Go Language Fuels Cloud Native Development
Go was created at Google in 2007 to improve programming productivity in an era of multicore networked machines and large codebases. Since then, engineering teams across Google, as well as across the industry, have adopted Go to build products and services at a massive scale, including the Cloud Native Computing Foundation which has over 75% of the projects written in the language.
In this episode of The New Stack Makers podcast, Steve Francia, head of product: Go Language, Google and alumni of MongoDB, Docker and Drupal board member discusses the programming language, the new features in Go 1.18 and why Go is continuing on a path of accelerated adoption with developers. Darryl Taft, news editor of The New Stack hosted this podcast.
In the State of Developer Ecosystem 2021, Go ranked in the top five languages that developers planned to adopt and continues to be one of the fastest growing languages. According to Francia, it was created with the motivation to see if a new system programming language could be built and compile quick with security as the top focus. With developers coming and going at Google, the simplicity and scalability of the language enabled many to contribute across several projects at any given time.
“The influences that separate Go from most languages is the experience of the creators behind it who all came to build it with their collective experience,” Francia said. Today “Go is influencing a lot of the mainstream languages. Elements of it can be found in a tool that formats everyone’s source code to be identical and more readable. Since then, a lot of languages have adopted that same practice,” said Francia. “And then there’s rust. Go and rust are on parallel tracks and we’re learning from each other. There’s also a new language called V that has recently been open sourced which is the first major language inspired by Go,” Francia said.
The latest release of Go 1.18 was Google’s biggest yet. “It included four major features, each of which you could build a release around,” said Francia. In this release, “Generics is the biggest change of the Go language which has been in the works for 10 years,” Francia added. “Because we knew that generics have the potential to make a language more complicated, we spent a long time going through different proposals,” he said. Fuzzing, workspaces and performance were three other features released in this past version of Go.
“From improving our documentation and learning — which you can go to go.dev/learn/ to get the latest resources — we’re really focused on the broad view of the developer experience,” Francia said. “And in the future, we’re seeing not our team so much as the community taking Go in new ways,” he added.