Google Introduces 'Go' Programming Language - InformationWeek

InformationWeek is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

IoT
IoT
Infrastructure // PC & Servers
News
11/10/2009
06:02 PM
Connect Directly
LinkedIn
Twitter
RSS
E-Mail
50%
50%

Google Introduces 'Go' Programming Language

Go aims to combine the benefits of rapid application development with program execution speed.

Google on Tuesday released a new open source programming language called Go that's optimized for applications designed for massive scalability and multi-processor systems.

"I've never felt as productive as I have working with Go," said Rob Pike, a principal engineer at Google.

Go is the second programming language Google has released this year. In July, the company released Simple, a BASIC dialect for developing Android applications.

Pike says Go's goal is to serve as a systems language, in the way that C++ or C does today.

"It's fast for development but it also is a true compiled language," he explained. "We're opening sourcing it now because we think it's reached the point of being fun and useful and powerful."

Go began in 2007 as a group 20% project -- Google allows its workers to spend 20% of their time pursuing projects outside of their job responsibilities. In addition to Pike, contributors include Google engineers Robert Griesemer, Ken Thompson, Ian Taylor, and Russ Cox.

Compiled Go code runs at close to the speed of C, says Pike, adding that compilation happens almost instantly. "It's like using an interactive language," he explained.

Existing languages haven't been optimized for multi-core processors or massive scaling. Pike says that Go was conceived as a language for the kinds of programs written by Google engineers.

It's not intended for beginners, but it's also not terribly difficult to learn. It's object-oriented and boasts features like true closures and reflection.

Pike compares Go to Java in terms of its learning curve. "It's probably around the same level as Java," he said. "If people can learn Java out of the box, they shouldn't have too much trouble learning Go."

One reason for releasing Go as an open source project is to provide the open source community with the opportunity to create of better tools for using the language, like a plug-in for the Eclipse Integrated Development Environment (IDE). At present, there's no IDE support for Go.

Go has not played a role in the development of any of Google's publicly facing Web applications so far. But Google has several internal projects developed that were created using the language. "We have some cool demos," Pike said.

Pike says it's too early to say whether Go will play a part in Google's forthcoming Chrome OS, but he adds that Go does work with Native Client, Google's open-source technology for running native code in Web applications.

"Go has properties that make it really nice for running inside the browser for your apps," he said.

As an example, he said that Wave, which consists of JavaScript on the front-end and C++ server code, might be more efficiently implemented using Go on both the front-end and back-end.

Go has two compilers at the moment, Gccgo, which relies on the GCC as a back-end, and a suite of compilers (6g and 8g) for 64-bit x86 and 32-bit x86 machines respectively. Support for ARM chips and Android devices is being worked on. "The problem with Android phones is we have don't have a [floating point unit]," said Pike.

Additional details and documentation can be found at golang.org and on YouTube.

Register for Interop New York and see the full range of IT solutions to position your organization for growth. At the Jacob Javits Center, Nov. 16-20, 2009. Find out more and register.

We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
Comment  | 
Print  | 
More Insights
News
Can Cloud Revolutionize Business and Software Architecture?
Joao-Pierre S. Ruth, Senior Writer,  1/15/2021
Slideshows
10 IT Trends to Watch for in 2021
Cynthia Harvey, Freelance Journalist, InformationWeek,  12/22/2020
News
How CDOs Can Build Insight-Driven Organizations
Jessica Davis, Senior Editor, Enterprise Apps,  1/15/2021
White Papers
Register for InformationWeek Newsletters
Video
Current Issue
2021 Top Enterprise IT Trends
We've identified the key trends that are poised to impact the IT landscape in 2021. Find out why they're important and how they will affect you.
Slideshows
Flash Poll