Wake Me Up Before Google's Go Goes
The Go Team's focus is to provide systems developers with "a fresh and lightweight take on object-oriented design." Go responds to the advent of multicore computers with well-supported garbage collection and parallel computation. Here are some key features of Google's Go:
- True closures and reflection
- Easy dependency analysis and avoids much of the overhead of C-style
- No pointers or pointer arithmetic; offers bounded slices for random access to memory
- Unicode support and run-time reflection
- Introduces goroutines to write systems as lightweight communicating processes.
- Fast 6g compiler for for 64 bit x86 code; the alternate gccgo compiler is slower but generates more efficient code
You know it wouldn't be a proper Google release if without any weird marketing gimmicks (e.g. Baked good names for versions of Android). Go is no exception.
On the right you'll see Gordon, the Go Gopher.
And, no programming language would be complete without the obligatory "Hello World" program:
package main
import fmt "fmt" // Package implementing formatted I/O.
func main() {
fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n");
}
There's even a video of Go in action. Go and its compilers are being offered under a BSD-style license.
| Attachment | Size |
|---|---|
| gogopher.png | 15.82 KB |
- Login or register to post comments
- 2169 reads
- Printer-friendly version
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)









