Google appears to have just made public a new experimental language, called Go (weird, the name does not look a great choice from a search engine point of view …)
It is similar to the C language but with garbage collection and some elements of modern scripting languages as Python, including array slices and a map type with constructor syntax that looks like Python’s dictionary concept.
According to Google, Go offers an expressive type system, fast compilation, good performance, and built-in language features that simplify threaded programming and concurrency.
For example, parallelism: the language introduces the concept of “goroutines” which are executed concurrently. Any function can be executed as a goroutine by prefixing the function call with the “go” keyword. The language provides a “channel” mechanism that can be used to safely pass data in and out of goroutines.
My two cents: it will not replace C or C++ and will not be useful for embedded developers (Go has garbage collection and lacks pointer arithmetic, while C has explicit memory management and pointer arithmetic); so where is it aimed for? Just adding concurrency development to a C-like language? Or is an alternative to scripting languages but then, why?
Personally, I subscribe what Alex Iskold said:
I am a fan of Java and Object-Orientation, so new procedural languages sound like a thing of the past to me.