Something that slightly bothered me: Pike was asked if go would have something like rubygems, and he said he had no idea what ruby gems are and how ruby handles third party packages.
This is troubling because I've written a couple libraries for go, and it would be awesome to have something similar to rubygems or pypi to distribute them.
I got that impression with go a bit. It did feel like there were a couple of things omitted from the language simply because the authors had never experienced them done correctly.
Exceptions always comes up as the big one, but the more subtle part of a concurrent system that erlang did really well was allow you to monitor processes for crash. You can abort a goroutine early, but nobody can hear about it.
Of course, you can also segfault the thing using a null pointer dereference, but you can't do anything other than have your entire application fail.
Yeah I get this feeling a lot. If you're working with formats like json and yaml, there really isn't an adequate way to represent those formats in Go (something as natural as python dictionaries or ruby hashes)
@marketer - Too true. Wynn and I didn't like that either. I think it was just that he wasn't personally aware of that feature. I could ping them and get a more clear answer via email for you.
Something I'd like to know is what languages they've used in the past few years. When Pike answered the question, he mentioned a bunch of dead research languages. He said that Ken Thompson was influenced by B, but I highly doubt that he's written any B code in the past 30 years.
Go's overarching principle is "to reduce the amount of typing" and "reduce clutter and complexity", but if you switch from something like python or ruby to go, you'll quickly notice there's a lot more typing and complexity for programs. Especially when it comes to stuff like type declarations and error handling.
I'm pretty new to programming (like 2008 new) but my mentor is someone who has been around for a while and all his descriptions of Pike seem to show a trait where Pike mistakes bad habits and bad design for tradition. Anything that breaks tradition is bad. Nothing to really back that feeling up, but that is what I see when I read his work.
This is troubling because I've written a couple libraries for go, and it would be awesome to have something similar to rubygems or pypi to distribute them.