Google Launches New Programming Language: Go

 
 
By Darryl K. Taft  |  Posted 2009-11-10 Email Print this article Print
 
 
 
 
 
 
 

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 analysis-and 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


 
 
 
 
Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.
 
 
 
 
 
 
 

Submit a Comment

Loading Comments...
 
Manage your Newsletters: Login   Register My Newsletters























 
 
 
 
 
 
 
 
 
 
 
Rocket Fuel