Mad, Beautiful Ideas
The Future of Systems Programming? Google's Go

The big G announced a new language being worked on internally today, that they hope will revolutionize systems programming. I was highly focused on systems programming when I started, and it's still an interest, so I was curious what Go would have to offer beyond what was available today in other languages.

What I've seen, is very interesting. It's similar in syntax to something like C, which is little surprise considering that Ken Thompson is a contributor, but like a lot of what Google's been working on lately, it's designed with concurrency and multi-core in mind. This is hugely important, since processors aren't getting any faster, but we are seeing more and more cores on each processor.

Even modern languages, like C#, only provide easy concurrency support at the library level, and those libraries are mostly research projects which haven't quite hit general availability yet. Having this built into a language as a consideration from the base level of the design stands to make certain classes of tasks much easier.

I'm probably going to have more Go posts in coming weeks as I play around with the language some more, and try to learn what it can do, but for now, the introduction video from the Google Tech Talk is a must watch.