Go is a statically typed, compiled, general-purpose programming language designed at Google by Robert Griesemer, Rob Pike and Ken Thompson, who began sketching its goals on a whiteboard on September 21, 2007, out of frustration with the complexity of building large software projects in the languages then available to them. Go became a public open-source project on November 10, 2009, and reached its first stable release, Go 1.0, in March 2012. It has a syntax broadly similar to C, together with garbage collection, structural typing and CSP-style concurrency built directly into the language. This description is adapted from Wikipedia contributors under CC BY-SA 4.0; changes were made. https://creativecommons.org/licenses/by-sa/4.0/
Facts
First Released ParadigmMulti-paradigm: imperative, concurrent, functional and structural typing 2 SignificanceGo was born out of frustration with existing languages and environments at Google, where a choice had to be made between efficient compilation, efficient execution and ease of programming, with all three rarely available in the same mainstream language at once. Its designers gave concurrency first-class, built-in support, anticipating the rise of multicore hardware, and made garbage collection and fast, tool-friendly compilation central rather than optional; the language went on to become a foundation of modern cloud infrastructure tooling. 3 Classification
Typing Discipline Typing Discipline Typing Discipline FAQs
Is the language called Go or Golang?
Its name is Go; Golang is a nickname from the old golang.org web address.
The language is called Go. The name Golang arose because the project web site was originally at golang.org, since there was no .dev domain then. Many people still use Golang as a handy label, and the social media tag for the language is #golang, but the Go team says the language name is just plain Go. It is also written Go, not GO, even though the official logo has two capital letters.
Why does Go not have exceptions?
Go reports ordinary errors through multi-value returns because its designers think try-catch-finally leads to convoluted code.
The Go team believes that coupling exceptions to a control structure, as in the try-catch-finally idiom, results in convoluted code. They also say it tends to encourage programmers to label too many ordinary errors, such as failing to open a file, as exceptional. Go takes a different approach: for plain error handling, its multi-value returns make it easy to report an error without overloading the return value, and a canonical error type supports this. Go does have a couple of built-in functions to signal and recover from truly exceptional conditions.
Connections
Follows Typing Discipline
In Field
Source Wikipedia: Go (programming language)
Influenced
Influenced By
Source Wikipedia: Go (programming language)
Invented By
Source Wikipedia: Go (programming language)
Source Wikipedia: Go (programming language)
Source Wikipedia: Go (programming language)
Licensed Under
Source The Go Authors: The Go Programming Language License
Additional Source Wikipedia: Go (programming language)Infobox: license
In the Other Atlases
Developed By
Also in Business Atlas: the developer of this subject.
Sources
1. Wikidata: Go
- Wikidata Q37227, class allow-list match (w-wdresolver-0926)
- Wikidata Q37227 P571 (inception)
- Wikidata Q37227 P7078 (typing discipline)
View the Source2. Wikipedia: Go (programming language)
Wikimedia FoundationHistory
Go was designed at Google in 2007 to improve programming productivity in an era of multicore, networked machines and large codebases.
- Introduction
- Invented By: Rob Pike, History section
- Invented By: Robert Griesemer, History section
- Invented By: Ken Thompson, History section
In Group: Channel-Based and CSP-Inspired Concurrent Languages, Lead section
Go has a simple syntax similar to C++, as well as garbage collection, structural typing, CSP-style concurrency, and a broad standard library.
- Licensed Under: BSD 3-Clause License, Infobox: license
View the Source 3. Go FAQ (go.dev)
The Go Authors: The Go Programming Language License
The Go AuthorsLicensed Under: BSD 3-Clause License, License textQuote, Licensed Under: BSD 3-Clause License, License text
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
View the Source Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.