Google launched Go exactly 10 years ago, in November 2009, offering developers a new programming language that was optimized for multicore processors and which could exploit multithreading.
To celebrate its anniversary, Google has launched a new website on its recently launched .dev domain, simply called go.dev, which highlights Go's strengths for building cloud services, command-line interfaces, web applications, and its support of DevOps.
Claiming over a million Go users worldwide, Google is also keen to show how many big brands are using the language extensively, including American Express, Salesforce, IBM, Target, Twitch, Netflix, Twitter, Uber, and Dropbox.
SEE: Six in-demand programming languages: Getting started (free PDF)
Salesforce recently detailed how it went heavy on Go to rebuild its Einstein Analytics platform, which was previously a hybrid C-Python application. "Python doesn't do multi-threading very well," a Salesforce developer said.
Netflix says it deliberately wrote its Rend proxy on Go "because we needed something that had lower latency than Java (where garbage collection pauses are an issue) and is more productive for developers than C, while also handling tens of thousands of client connections".
According to Google, Go.dev differs from the existing golang.org website for the open-source project, serving as a new hub for Go users. It provides "centralized and curated resources from across the Go ecosystem", such as Go packages and modules, learning resources, use cases and case studies.
Go this year came 10th in the 2019 IEEE Spectrum's sixth annual ranking. The language was created within Google by a team that includes Unix founding father Ken Thompson, Bell Labs Unix developer Rob Pike, and Robert Griesemer.
For anyone new to Go, Steve Francia, the Golang product lead at Google, describes it as "syntactically similar to C, but with the added benefits of memory safety, garbage collection, structural typing, and CSP-style concurrency".
"Most importantly, Go was purposefully designed to improve productivity for multicore, networked machines and large codebases – allowing programmers to rapidly scale both software development and deployment".