November 10, 2009

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.

Paul Krill is an editor at large at InfoWorld.
Close

On Twitter now

Languages and standards

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.