Go
Imperative, CSP concurrency. First appeared 2009; c family; network services, infrastructure.
Record¶
| First appeared | 2009 |
|---|---|
| Family | C family |
| Paradigm emphasis | Imperative, CSP concurrency |
| Typing | Static, strong |
| Memory | Concurrent tracing GC |
| Execution | AOT compiled |
| Primary domain | Network services, infrastructure |
| Designers | Griesemer, Pike, Thompson |
| Reference | https://go.dev/ref/spec |
| Last verified | not yet checked against its source by a human |
Dates are first public release or publication, not the start of internal development. Colour on the typing and memory tags encodes kind, never rank.
Influence¶
Within the C family¶
Curly-brace syntax and an imperative core, descending from ALGOL through C. The tradition most later languages either extend or explicitly react against.
| Language | First appeared | Typing | Memory | Execution |
|---|---|---|---|---|
| COBOL | 1959 | Static, weak | Static allocation | AOT compiled |
| ALGOL 60 | 1960 | Static | Stack-based | AOT compiled |
| Simula 67 | 1967 | Static | Tracing GC | AOT compiled |
| Pascal | 1970 | Static, strong | Manual | AOT compiled |
| C | 1972 | Static, weak | Manual | AOT compiled |
| Objective-C | 1984 | Static core with dynamic dispatch | Manual then ARC | AOT compiled |
| C++ | 1985 | Static, partly weak | Manual with RAII | AOT compiled |
| Dart | 2011 | Static, strong, sound null safety | Generational tracing GC | JIT for development, AOT compiled for release |
8 other languages in this family, ordered by first appearance. Go itself is omitted. Source: languages.json.