Google has announced it is 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.
"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 licence.
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 website states.