Why Trust Techopedia

What Does Go Mean?

Go is an open-source programming language developed at Google by Robert Griesemer, Rob Pike, and Ken Thompson in 2007. Although it is built in much the same way as C or Algol, unlike many other languages, it is not dependent on C in any way. One defining feature of Go is concurrency, which means that multiple processes can be executed at the same time, which makes Go an efficient language. It is also a verbose language which displays extended information. Its other features are memory management, structural typing, memory safety and CSP-style programming.


Go is also known as golang.

Techopedia Explains Go

Go started as an experiment with the objective of addressing common criticisms of other programming languages while retaining their positive features.

The goals in creating Go included:

  • Ability to scale to larger systems like C++ and Java
  • Building a light and dynamic programming language which could adapt to changing requirements
  • Supporting tools, but not being dependent on tools
  • Supporting concurrency and networking

Go has been implemented in a number of places since it was announced in November 2009. Its compiler, gc, has been developed as open-source software and is targeted at various platforms such as Unix, Windows, OS X, BSD and Linux. Since 2015, it has also begun to be used with mobile devices.

Go offers fast compilation and can improve efficiency and remote package management.


Related Terms

Margaret Rouse
Technology Expert
Margaret Rouse
Technology Expert

Margaret is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.