Go (programming language)
Programming language / From Wikipedia, the free encyclopedia
Dear Wikiwand AI, let's keep it short by simply answering these key questions:
Can you list the top facts and stats about Go (programming language)?
Summarize this article for a 10 year old
SHOW ALL QUESTIONS
For the 2003 agent-based programming language, see Go! (programming language).
For other uses, see Go (disambiguation).
Go is a statically typed, compiled high-level programming language designed at Google[12] by Robert Griesemer, Rob Pike, and Ken Thompson.[13] It is syntactically similar to C, but also has memory safety, garbage collection, structural typing,[7] and CSP-style concurrency.[14] It is often referred to as Golang because of its former domain name, golang.org
, but its proper name is Go.[15]
Quick Facts Paradigm, Designed by ...
Paradigm | Multi-paradigm: concurrent imperative, functional[1] object-oriented[2][3] |
---|---|
Designed by | Robert Griesemer Rob Pike Ken Thompson |
Developer | The Go Authors[4] |
First appeared | November 10, 2009; 14 years ago (2009-11-10) |
Stable release | |
Typing discipline | Inferred, static, strong,[6] structural,[7][8] nominal |
Memory management | Garbage collection |
Implementation language | Go, Assembly language (gc); C++ (gofrontend) |
OS | DragonFly BSD, FreeBSD, Linux, macOS, NetBSD, OpenBSD,[9] Plan 9,[10] Solaris, Windows |
License | 3-clause BSD[4] + patent grant[11] |
Filename extensions | .go |
Website | go |
Major implementations | |
gc, gofrontend | |
Influenced by | |
C, Oberon-2, Limbo, Active Oberon, communicating sequential processes, Pascal, Oberon, Smalltalk, Newsqueak, Modula-2, Alef, APL, BCPL, Modula, occam | |
Influenced | |
Crystal, V (Vlang) |
Close
There are two major implementations:
- Google's self-hosting[16] "gc" compiler toolchain, targeting multiple operating systems and WebAssembly.[17]
- gofrontend, a frontend to other compilers, with the libgo library. With GCC the combination is gccgo;[18] with LLVM the combination is gollvm.[19][lower-alpha 1]
A third-party source-to-source compiler, GopherJS,[21] compiles Go to JavaScript for front-end web development.