The Google Go programming language

by Stii

Lately Google announced a wide array of new products and features. The Google Chrome browser, Google Wave, Android and Google Chrome OS are the ones immediately coming to mind. This morning I saw they released Go. Their own experimental programming language.

Go is not a scripting (a.k.a. interpreted) language, but a compiled language like C or C++. It looks very, very simple compared to C/C++ and according to them it was born from their frustrations with said languages. This has potential to become popular should they drive it sufficiently.

The syntax of Go looks like a mix of Python, C, Java and Pascal. Have a look at this:

package main

import (
    "os";
    "flag";  // command line option parser
)

var omitNewline = flag.Bool("n", false, "don't print final newline")

const (
    Space = " ";
    Newline = "\n";
)

func main() {
    flag.Parse();   // Scans the arg list and sets up flags
    var s string = "";
    for i := 0; i < flag.NArg(); i++ {
        if i > 0 {
            s += Space
        }
        s += flag.Arg(i)
    }
    if !*omitNewline {
        s += Newline
    }
    os.Stdout.WriteString(s);
}

I can say this: It looks friendly! I like the sugar.

Some of the features makes a lot of sense and I hope this will evolve successfully. Just look at the names behind this little experimental project and you’re bound to get excited! I’d love to know what C and C++ stalwarts think.

PS: Love the origin of the name:

“Ogle” would be a good name for a Go debugger.

I concur.