Go
Backend· alive, actively evolving· since 2009 · Robert Griesemer, Rob Pike, Ken Thompson · Google
Compiled language with garbage collection and goroutines, made for networked servers and cloud tools.
Draft from 2026-10-30, not yet checked claim by claim against its sources. Help verify it.
Born from
In 2007 a large Google program took 45 minutes to build, and Rob Pike's account of Go's origin puts its conception during one of those builds. The team wanted fast compilation, efficient execution and ease of programming, which its FAQ says no single mainstream language offered at the time.
What it trades away
Cost: A garbage collector you cannot switch off and a deliberately small language, with fewer abstractions, in return for fast builds and code that is easy to read.
Where it fits
| Slot | Fit | |
|---|---|---|
| server | ●●● | |
| cli | ●●● | |
| data | ●●○ | |
| systems | ●●○ | |
| mobile | ●○○ | |
| embedded | ●○○ | |
| browser | ○○○ | Compiles to WebAssembly, but is not a browser language. |
Why it exists
In 2007 a large Google program took 45 minutes to build. Rob Pike’s account of Go’s origin says that “the origin myth for Go states that it was during one of those 45 minute builds that Go was conceived” (Pike, Go at Google). The FAQ puts the underlying problem in one sentence: “One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language” (Go FAQ). The aim was to combine them in one language, with concurrency and garbage collection built in. Go was launched publicly on 10 November 2009 (Go blog).
What it trades away
Go gives up manual memory control for a garbage collector, and gives up many language features for a small one. The FAQ states the goal as “the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language” (Go FAQ). Concurrency is cheap, because goroutines have “little overhead beyond the memory for the stack, which is just a few kilobytes”, but the programmer gets fewer features to shape the code with and less control over memory layout.
Where it won
Google uses Go for its web indexing services, which are written in Go, and for the Chrome optimization guide service, which is implemented in Go (Google’s Go case study). CockroachDB was 89.6 percent Go code in October 2023 (CockroachDB). Go 1, the first stable release, came out on 28 March 2012 with a promise that programs written for it will keep compiling and running unchanged under later versions (Go release history).
Named wins
- Google's web indexing services and Chrome optimization guide service, which are written in Go source
- CockroachDB, which was 89.6 percent Go code in October 2023 source
Evolution
Weigh it against: Rust, Java, C#
Timeline
- 2007A large Google program takes 45 minutes to build, in the account of Rob Pike source
- 2009The Go project is launched publicly on 10 November 2009 source
- 2012Go 1 is released on 28 March 2012 with a compatibility promise source
Links
Sources
- https://go.dev/talks/2012/splash.article
- https://go.dev/doc/faq
- https://go.dev/blog/1year
- https://go.dev/doc/devel/release
- https://go.dev/solutions/google/
- https://www.cockroachlabs.com/blog/why-go-was-the-right-choice-for-cockroachdb/
- https://go.dev/
- https://pldb.io/concepts/go.html
Unverified draft, 2026-10-30.Edit the facts · edit the story · JSON · Markdown