Print

Integration Watch: Google's Go language



Email
June 15, 2010 —  (Page 1 of 2)
At this year’s excellent Google IO conference, one session was dedicated to a technology that could one day see wide adoption: a new programming language from Google called Go.

The language has its origins in the work on Plan 9, the operating system designed and implemented at Bell Labs in the 1990s. Two major contributors to that OS were Rob Pike and Ken Thompson, both of whom are now Google engineers and major contributors to Go. The goal of the language is to move against the complexity of modern languages and to provide an alternative that is easy to program, fast to execute, object-oriented, and which generates small binaries.

The easy-to-program aspect is a key feature. By it, the Go team means that simple expressions can represent most of the language’s actions. The so-called “ceremony” of writing expressions and functions is especially eschewed. In presentations on Go, Pike refers to this eloquent statement by Richard Gabriel, a major figure in Lisp circles in the 1990s, as a guiding light: “I'm always delighted by the light touch and stillness of early programming languages. Not much text; a lot gets done. Old programs read like quiet conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler.”

Per Pike’s explanation, the problem of complexity has its roots in the transition from C to C++, when a thick layer of language features was poured over a tight, efficient, compact language in order to make it object-oriented. Then came Java as a partial attempt at simplification, which slowly became progressively complicated. Thereafter, various scripting languages tried to restore simplicity, but at the cost of performance and runtime safety.

Go is an attempt to leave this heritage behind, start from scratch, and reset the language world back along its original trajectory. It aims at being comprehensible, compact, statically typed, and adorned with good support for parallel environments and scalability.

How well the language meets these goals is open to debate, but the releases currently available do indeed show the compiler to be blazingly fast. Various demos by Google (easily found on the Web) show compilations as near instantaneous, even when run on laptop machines. Google estimates compilation speed to be about 5x faster than gcc. This is achieved in part by greatly reducing the processing of header files and import statements.



Related Search Term(s): Google

Pages 1 2 


Share this link: http://sdt.bz/34422
 
Most Read  Latest News  Resources


Comments


06/24/2010 02:28:19 PM EST

There is another language, named D, that also tries to be a better compiled language than C++. And I believe it succeeds. The D language has been around for several years now. It was created by a well known C/C++ compiler writer, Walter Bright, who is intimately aware of the short-comings of C++. Here are some links to articles and websites about D: - http://www.digitalmars.com/d/ - http://en.wikipedia.org/wiki/D_(programming_language) It seems that D and Go have the same design goals. But D existed for years before Go. My question is, why did Google invent a new language when there was already an existing one that appears to meet their design goals? I'm not a language expert or compiler writer, but I am interested in computer languages from practical point of view. I would love it if the inventors of D and Go could compare and contrast their languages publicly for the benefit of people like me who are on the lookout for the Next Big Language (NBL). http://steve-yegge.blogspot.com/2007/02/next-big-language.html

United Statesdevdanke


close
NEXT ARTICLE
SD Times Blog: Google Glass, meet the hacker community
Google’s tacit acceptance of hackers tinkering with Glass is a welcome development Read More...
 
 
 




News on Monday  more>>
Android Developer News  more>>
SharePoint Tech Report  more>>
Big Data TechReport  more>>

   
 
 

 


Download Current Issue
MAY 2013 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?