Go, An Experimental Language from Google
Anything Google does in code is worthy of attention and a new programming language more so. Both Microsoft and Google have a lot of very bright people but with Google it's more likely to be producing open source as this is. Started in September 2007, Go is an experimental OO Lite (no inheritance) language that tries to break away from Java and C++ . It's best summed up as a concurrent, garbage-collected language with fast compilation.
By experimental I suspect they mean it's here to stay but isn't quite finished yet. With built in features like Garbage Collection and parallel computation without having to write threaded code so it supports multi-core out of the box.
The language is interesting. For example, variable declarations are more like the Pascal model with the type after the variable name. This declares two pointers to an int.
var a, b *int;
This is for Linux/Mac mainly, so possibly it would run under Windows using Cygwin/MingW. Gccgo has a C++ front-end with a recursive descent parser coupled to the standard GCC back end. Gc is written in C using yacc/bison for the parser. No header files but instead, just put a load of files in a directory and they can compile together and make cross file calls without needing declarations.
There's a fair deal of documentation and instructions on how to install and run it. It's early days so it lacks tools like an IDE and debugger but no doubt those are in the works. For some "strange" reason they think ogle would be a good name for the debugger as in "go ogle". It must be an anagram...!
- Link to C Code Library


No comments yet. Leave a Comment