What is Go written in?

Go is self-hosting since version 1.5 (2015). The Go compiler and runtime are written in Go itself. Before Go 1.5, the gc compiler was written in C. The transition to a self-hosted compiler was completed as part of the Go 1.5 release.

Details

The Go compiler toolchain (gc) is written entirely in Go. The Go runtime — which handles goroutines, garbage collection, and the scheduler — is also written in Go, with some assembly for low-level operations.

Before Go 1.5, the compiler was written in C, and the runtime was a mix of C and Go. The Go team rewrote the compiler in Go as part of their language stability goals.

The dataset records a bootstrap_written_in relationship reflecting Go's self-hosted compiler, and a historical compiler_written_in from C.

Explore in the Graph

See implementation and influence relationships interactively.

Open Interactive Graph →

Related Pages