By combining dynamic features, safety, garbage collection and efficiency in a single language and environment, Go claims to remove the reasons why programmers end up building systems using multiple languages. A brief look at Go shows strong C origins with nice support for "goroutines" - essential sequential processes communicating using channels. I don't quite get the "safety" claim of the language since you can take the address of an uninitialized variable in Go. It could qualify as a "C with concurrency" language I think.I like static typing. I read a comment on one programming blog a while ago where the author said that his Scala code required far less debugging and was a lot less likely to fail regression tests then stuff he was writing in (IIRC) Ruby.
Go already has a great set of packages that should make it immediately usable as a pragmatic language. (The terse package names are very reminiscent of Erlang's package structure.) It even has a package for interfacing with Google Native Client (NaCl) for audio/video access.
+1 for static typing+1 what?
« Older Nabokov, Meet 50 Cent: Zadie Smith's Changing My M... | Stem Cell Awareness and The Bl... Newer »
This thread has been archived and is closed to new comments
Personally I don't see the resemblance to Python since they use accolades. Also I'm not very excited by the continuity from C. A new language is a chance to rethink some things.
I wonder how the statically typed version of duck typing will work out. They want to deemphasize the importance of relationships between types. I can see why. But I do wonder whether making relationships implicit is the answer; there's still a dependency (by set of method names) but you have to guess at it.
Anyhow; anything Google supports, and it's not quite obvious they support this wholeheartedly, will gain widespread support I expect.
posted by jouke at 9:18 AM on November 11, 2009 [1 favorite]