Ken Thompson (Multics, B, Ed, regular expressions, Unix, Plan 9), Rob Pike (sam, Plan 9, Limbo, Inferno), and Robert Griesemer (Java Hotspot compiler) have been working on a new programming language since 2007, which has just been announced by Google. A couple of the names associated with Go are virtually biblical within the programming community so I expect Go will get a lot of attention. The thing I find enthralling is that it intends to address concurrency within the language like Limbo, not as an add-on library. It also attempts to be more like interpreted, dynamically typed languages like Python that are widely used especially for web-based programming.
“Go is an attempt to combine the ease of programming of an interpreted,
dynamically typed language with the efficiency and safety of a
statically typed, compiled language. It also aims to be modern, with
support for networked and multicore computing. Finally, it is intended
to be fast: it should take at most a few seconds to build a large
executable on a single computer. To meet these goals required
addressing a number of linguistic issues: an expressive but lightweight
type system; concurrency and garbage collection; rigid dependency
specification; and so on. These cannot be addressed well by libraries
or tools; a new language was called for.
“Go is mostly in the C family (basic syntax), with significant input
from the Pascal/Modula/Oberon family (declarations, packages), plus
some ideas from languages inspired by Tony Hoare’s CSP, such as Newsqueak and Limbo (concurrency).”

Be the first to comment