[LINK] Google 'Go' .. a new programming language
stephen at melbpc.org.au
stephen at melbpc.org.au
Thu Nov 12 14:10:37 AEDT 2009
Google 'Go'
http://golang.org
. a new systems programming language ..
Go is
simple
package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}
fast
Go compilers produce fast code fast. Typical builds take a fraction of a
second yet the resulting programs run nearly as quickly as comparable C
or C++ code.
safe
Go is type safe and memory safe. Go has pointers but no pointer
arithmetic. For random access, use slices, which know their limits.
concurrent
Go promotes writing systems and servers as sets of lightweight
communicating processes, called goroutines, with strong support from the
language. Run thousands of goroutines if you wantand say good-bye to
stack overflows.
fun
Go has fast builds, clean syntax, garbage collection, methods for any
type, and run-time reflection. It feels like a dynamic language but has
the speed and safety of a static language. It's a joy to use.
open source
Go for it.
--
http://www.webmonkey.com/blog/Meet_Go__Google_s_New_Programming_Language
Meet Go, Googles New Programming Language
By Scott Gilbertson, November 11, 2009
Google has released a brand-new programming language it hopes will solve
some of the problems with existing languages such as Java and C++.
The language is called Go, and it was released under an open source
license Tuesday .. Google has considerably upped its investment in free
software with the release of Go, which is an entirely new programming
language.
At first glance, Go looks a bit like C++, but borrows some elements, such
as garbage collection, from scripting languages like Python and
JavaScript.
But Gos real standout feature is its speed. This (below) demo video
shows the entire language over 120K lines of code compiling in under
10 seconds.
http://www.youtube.com/watch?v=wwoWei-GAPo
As a systems language, Go is intended to be used for developer
applications like, for example, web servers.
In fact, the http://golang.org website is being hosted by a Go program.
But as Go developer Rob Pike says in recent Google Tech talk, "although
Go is designed as a systems language, it has a much broader use than
that." http://www.youtube.com/watch?v=rKnDgT73v8s
One of the most appealing parts of Go is its ability to handle multicore
processors and, as Googles FAQ explains, "provide fundamental support
for concurrent execution and communication."
Existing systems languages like C++ evolved long before todays modern,
and very fast, processors hit the market and make supporting multicore
chips more difficult.
While Google could have concentrated on writing libraries that can handle
those tasks in C++, the developers behind Go say that, "too many of the
problems lack of garbage collection, long dependency chains, nested
include files, lack of concurrency awareness are rooted in the design
of the C and C++ languages themselves," and decided it was time for
something entirely new.
Like many of Googles open source projects, Go began life as a 20 percent
time project (the time Google gives its engineers to experiment) and
evolved into something more serious.
Go has been in development for over two years now, but Google is hoping
that, by releasing Go under a BSD-style license, a community will develop
and build Go into a viable choice for software development.
At the moment, Go is still very young and experimental.
Even Google isnt currently using Go in "large-scale production"
applications. While the site thats hosting the code is running a server
built with Go as a proof of concept, the primary purpose of this release
is to attract developers and help build a community around Go.
Despite its fledgling status, Go already supports many of the standard
tools youd expect from a systems language and even includes support for
other Google tools like Protocol Buffers.
Also, its worth noting that Googles Go is not to be confused with an
existing language entitled Go! (note explanation point). Google
Blogoscoped reports that Go!s developer Francis McCabe would like Google
to change the name of Go, but thus far Google has not responded to that
request.
At the moment Go is only available for Linux and Mac OS.
--
Cheers, Mark
Stephen Loosley
Victoria, Australia
More information about the Link
mailing list