ENES

Go

A simple, fast programming language from Google, built for servers and cloud tools.

A Go source file compiled into a single binary that runs on a server, where many lightweight goroutines pass messages through channels

Go (often called Golang, which is easier to search for) is a programming language created at Google by Robert Griesemer, Rob Pike and Ken Thompson and released as open source in 2009. They were tired of huge codebases that took ages to build and were hard to read, so they designed a small language with few features, strict formatting (gofmt makes everyone's code look the same) and a compiler that finishes in seconds.

A Go program compiles into a single file, a binary, that runs directly on the machine with no interpreter or extra libraries to install. That makes it easy to ship: copy one file to a server, or into a small Docker image, and run it. Its other signature feature is goroutines: very cheap tasks that run at the same time and talk through channels, which makes it natural to write a server that handles tens of thousands of connections at once.

That combination made Go the language of cloud infrastructure. Docker, Kubernetes, Terraform and many command-line tools are written in it, and companies like Uber, Cloudflare and Mercado Libre use it for backend services. It trades some expressiveness for simplicity: fewer clever tricks, more code that a new teammate can read on day one.

Keep in mind

Go deeper

Related terms

More in Software