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.
Read more about developer world in InfoWorld's Developer World Channel.
Get the independent advice and expertise you need to support a virtual workforce.
The increase in Linux popularity has increased the frequency and sophistication of malware attacks. Read this 2 page white paper now to learn how you can protect your Linux environment with real-time protection that is certified by all major Linux vendors.
Download now »Ensuring acceptable application delivery will become even more difficult over the next few years. As a result, IT organizations need to ensure that the approach that they take to resolving the current application delivery challenges can scale to support the emerging challenges. This handbook elaborates on the key tasks associated with planning, optimization, management and control and provides decision criteria to help IT organizations choose appropriate solutions.
Download now »A common misconception is that mid-range storage requirements are dramatically different than that of a larger enterprise. Mid-range storage users may require less capacity, but they have similar functionality and management requirements. This ESG paper examines mid-range storage needs and reviews a new solution that adjusts size while retaining value, performance and functionality.
Download now »
Sign up to receive InfoWorld Resource Alerts
