Google Go: An Open-Source Programming Language
My Clippings November 12th, 2009 by System
Automatically pulled from Google Starred
Google’s dominated search, online document collaboration, e-mail, telephony, and more, so why not programming, too? The tech giant has announced its own open-source, object-oriented programming language, called Go.
The Google Open Source Blog says that “Go combines the development speed of working in a dynamic language like Python with the performance and safety of a compiled language like C or C++.” (If you don’t know what that means, don’t worry about it.) “Typical builds,” the blog continues, “feel instantaneous; even large binaries compile in just a few seconds. And the compiled code runs close to the speed of C.” Go supports multiprocessing, as well as true closures and reflection.
The Go Web site (golang.org) explains
the rationale behind creating Go, mostly citing the change of the
computer landscape that’s occurred over the past decade or so that’s
seen very few (if any) major systems languages spring up: more powerful
PCs, many of which use multicore processors; increased dependency
management in software that’s not reflected in the “header files” of
C-based languages; the growing desire for dynamically typed languages
(such as Python and JavaScript) instead of type systems such as Java
and C++); and the poor support for concepts such as garbage collection
and parallel computation.
Google says that Go takes full
advantage of modern, multicore hardware; that it simplifies dependency
analysis and avoids the overhead present in C-style languages (such as
files and libraries); that Go’s type system has no hierarchy, which
saves the programmer from having to define relationships between types;
and that Go is fully garbage-collected and naturally supports
concurrent execution and communication.
If you’re interested in
getting started with Go, or you just want to learn more about its inner
workings, Golang.org is loaded with tutorials, manuals, FAQs, and other
documentation for easy assimilation. There’s
even a section devoted to C++ programmers who want to learn Go. Also
there to be found are code samples, such as the traditional beginning
to all studies, “Hello, world!”:
05 package main<br>
07 import fmt "fmt" // Package implementing formatted I/O.<br>
09 func main() { 10 fmt.Printf("Hello, world; or ???????? ?????; or ????? ??\n");<br>
11 }
It’s
way too early to tell, of course, what the impact of Go on programmers
or programming will be. But we have a feeling that in this way, as in
so many others, quite a few people will fall behind Google and look at
this as a convenient way of writing programs for modern hardware. If it
won’t spell the end of the various programming languages in common use,
it will undoubtedly represent at least the start of a major C change.
Tags: blockquote, Build, Google, IO, Javascript, ma, man, php, script, way, XP
