Google Go

As a developer I have always anticipated programming languages adding 3D operations or APL-like vector and array operations or event handling [more beyond the current Try-Catch paradigm]. Extensions that would become universal. But that has not happened except in a perverse way – the huge functional libraries associated with all the major languages from C/Pascal/ through C++/Delphi/Java to ActionScript/PHP/Ruby.

So the refinements among languages have been very hmmm .. eclectic. Garbage collection, OO extensions, packaging [curses foiled on this one]. So when Google announced a new Open Source programming language called GO – there was no small interest. Google which is running berserker amuck trying to establish its Web APIs as defacto Web standards [just look at all that are new and now available at Google Code]. And now Google is proposing a programming language. Will GO be like IBM’s PL/I or Microsoft’s C# – of interesst more for its source than for a natural adoption like in the case of Sun’s Java? Time will tell .

Meanwhile here are some reactions:
Ars Technica

We discussed the new programming language with Google engineer Rob Pike. He says that the Go language itself and the current implementation are relatively mature, but it’s not quite ready for adoption in production environments. The ecosystem around the programming language is still a work in progress. There is no IDE integration, the standard libraries are a bit thin, and there aren’t a whole lot of real-world code examples yet. Opening up Go to the broader programming community could help to vastly accelerate its advancement in all of those critical areas.

TechCrunch– provides the new Logo and Helloworld program for GO.


The company listed its reasoning behind this language in the Go FAQ, found on the aforementioned site, which we’ve shown below:
. Computers are enormously quicker but software development is not faster.
. Dependency management is a big part of software development today but the “header files” of languages in the C tradition are antithetical to clean dependency analysis—and fast compilation.
. There is a growing rebellion against cumbersome type systems like those of Java and C++, pushing people towards dynamically typed languages such as Python and Javascript.
. Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages.
. The emergence of multicore computers has generated worry and confusion.
It’s an interesting concept, and it’ll be fascinating to see if it catches on.

SlashDot – coverage here is commentary and some reasonably interesting.

Mashable says:

One of the core philosophies of Google, and one of the reasons it has been so successful, is efficiency. It’s about both being as efficient as possible when serving search results and processing data and creating product that push the limits of efficiency for the user (as an example, Google’s trying to make communication more efficient with Google Wave).

Maybe that’s why we’re not surprised that Google is finally looking to tackle the underpinning code that runs the web. Today the search giant released Go, an open-source development language that Google believes will combine performance with speed, and one that the company probably hopes will reshape the development and software industries in its favor.

What comes across from the intro presentation is that GO is Fast. See
Go here
for the one hour YouTube intro by Google for Go. And here is the the basic starting GO tutorial. Start here first.