Google introduces a new programming language, known as Go, that is aimed at being fast, productive and fun for developers to use.Google has introduced a new programming
language, known as Go, that is aimed at being fast, productive and fun for
developers to use.
Google officials described Go as an "experimental language" that
attempts to combine the development speed of working in a dynamic language like
Python with the performance and safety of a compiled language like C or C++.
Moreover, in a blog
post by the Google Go team, team members Robert Griesemer, Rob Pike, Ken
Thompson, Ian Taylor, Russ Cox, Jini Kim and Adam Langley said: "In our
experiments with Go to date, typical builds feel instantaneous; even large
binaries compile in just a few seconds. And the compiled code runs close to the
speed of C. Go is designed to let you move fast."
Meanwhile, an FAQ on the Go
language on the language's Website addressed who should use the language.
"We hope adventurous users will give it a try and see if they enjoy
it," the FAQ said. "Not every programmer will, but we hope enough
will find satisfaction in the approach it offers to justify further
development."
Indeed, in that FAQ, Google admits that Go is not being used internally at
Google, at least not for production systems. "The Go project was conceived
to make it easier to write the kind of servers and other software Google uses
internally, but the implementation isn't quite mature enough yet for
large-scale production use," the FAQ said. "While we continue
development we are also doing experiments with the language as a candidate
server environment. It's getting there."
The Google Go team also said in its blog post:
"Typical builds feel instantaneous; even large binaries compile in just
a few seconds. And the compiled code runs close to the speed of C. Go lets you
move fast.
"Go is a great language for systems programming with support for
multi-processing, a fresh and lightweight take on object-oriented design, plus
some cool features like true closures and reflection."
Among the trends behind the origin of Go are:
-
Computers are much quicker but software development is not faster.
-
Dependency management is a big part of software development today, but the
header files of languages in the C tradition are antithetical to clean
dependency analysisand fast compilation.
-
There is a growing rebellion against cumbersome type systems like those of
Java and C++, pushing people toward dynamically typed languages such as Python
and JavaScript.
-
Some fundamental concepts such as garbage collection and parallel
computation are not well-supported by popular systems languages.
-
The emergence of multicore computers has generated worry and
confusion.
"We believe it's worth trying again with a new language, a concurrent,
garbage-collected language with fast compilation," Google said on its FAQ
about Go.
Go follows on the heels of a Java-like programming language Google
introduced in September, known as Noop.
 |