Discussion  - 
 
I've lived enough of life to know this paper saved my career.   Pragmatic industrial languages like Go come along once in a half generation or less.  I'm glad it came my way.

http://talks.golang.org/2012/splash.article
Abstract. (This is a modified version of the keynote talk given by Rob Pike at the SPLASH 2012 conference in Tucson, Arizona, on October 25, 2012.) The Go programming language was conceived in late 2007 as an answer to some of the problems we were seeing developing software infrastructure at ...
36
80
Peter Fröhlich's profile photoMark Petrovic's profile photoJoel Webber's profile photo
5 comments
 
It would also serve as a good rebuttal to the complaints on a Quora question the other day (something along the lines of "Do you think Go is an ugly language?"). A lot of it focused on (IMHO) useless crap like "OMG it still has null pointers?!", and pretty much none of it on its actual design goals.

While are there are (as with all languages) some things I might have chosen to do slightly differently, I absolutely love the fact that the design decisions have been made with a clear eye towards being "useful" rather than "clever".
 
I agree that Go meets a sweet spot. A very sweet spot actually. But there's plenty of academia hidden in it, so when you say "pragmatic industrial" and call it "good" I agree only with the caveat that things like Oberon, despite being an academic project, were excellent engineering. It's fitting that Go picked lots of that up.
 
+Peter Fröhlich Completely agreed. Many of the complaints about Go appear to stem from the fact that it ignores many of the features that are in vogue amongst PL academics -- most of which are derived from functional languages in the Haskell vein. These features are often very clever, but like 12-tone Jazz, more interesting to the implementors than they are useful to their users :)

What makes Go special (and useful) to me is that it focuses on solving the problems that actually make my life difficult when building distributed systems. And its authors recognize that all language features have a non-zero cost (and super-linear in the number of features), and must "pay their freight", relative to these costs, or be left out.
 
+Joel Webber I'd like to hear more about the Go aspects of the distributed system work you do. I'll learn something.
 
+Mark Petrovic We use it more or less exclusively in the construction (on the server, at least) on +FullStory. It may not look like it at a glance, but there's rather a lot of infrastructure hiding in there. We haven't done much in the way of technical blog posts yet, but that will likely change soon, and I'll be sure to post them here. If you're interested in that sort of thing, you might also want to follow +Ian Rose.
Add a comment...