Google goes forward with Go language

The open source effort attempts to combine the speed of dynamic languages with the performance and safety of compiled languages

Google on Tuesday said it was putting into the open source realm an experimental programming language called Go, which attempts to combine the development speed of a dynamic language like Python with the performance and safety of a compiled language like C or C++.

In experiments conducted with Go so far, typical builds feel instantaneous and large binaries compile in a few seconds, according to a posting by "The Go Team" on the Google open source blog. Compiled code runs close to the speed of speed of C.

[ Last week, InfoWorld discussed where JavaScript could be headed with the language's creator, Brendan Eich. ]

"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," the team said.

"Want to write a server with thousands of communicating threads? Want to spend less time reading blogs while waiting for builds? Feel like whipping up a prototype of your latest idea? Go is the way to go," the blog states.

The Go Web page describes Go as being expressive, concurrent, and garbage-collected. Go is being offered under a BSD-style license.

Go, according to a Frequently Asked Questions page on the Go Web site, was developed in response to trends, including computers becoming faster while software development has not accelerated. Also cited was a growing rebellion against "cumbersome type systems like those of Java and C++" that has pushed people toward dynamically typed languages such as Python and JavaScript.

Go also was developed in response to multicore computers, which have generated worry and confusion, the page says. The language was conceived to make it easier to write servers and other software Google uses internally but the implementation is not mature enough yet for large-scale production use, according to the Web page.

Go provides a model for software construction making dependency analysis easy and avoiding much of the overhead of C-style programming including files and libraries, Google said.

"Go is an experiment. We hope adventurous users will give it a try and see if they enjoy it. Not every programmer will, but we hope enough will find satisfaction in the approach it offers to justify further development," the Go language Web site states.

An analyst was a bit dismissive of Go, however.  "Though we are in a bit of a golden age for programming languages, I don't think that this is going to be the next big thing in programming but likely one more tool in the tool chest for programmers and one more thing to learn, add to the resume, to consider when doing a project, etc.," said Al Hilwa of IDC.

This story, "Google goes forward with Go language," was originally published at InfoWorld.com. Follow the latest developments in application development at InfoWorld.com.

Copyright © 2009 IDG Communications, Inc.