Skip to content

Instantly share code, notes, and snippets.

@mipearson
Forked from davecheney/continuation
Created March 23, 2014 01:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mipearson/9717336 to your computer and use it in GitHub Desktop.
Save mipearson/9717336 to your computer and use it in GitHub Desktop.

https://twitter.com/davecheney/status/447523678561898496

Why do I think Go is more 'distributed' than other languages, and why do I think that is a good thing ?

  1. Go does not have a BDFL, there is no Guido Van Rossem, no Theo De Ralt, etc. We have our spiritual leaders like Rob Pike and Ken Thompson, but their influence is much less immediate.

  2. The very nature of the development of the Go standard library discourages adding new stuff to the standard library.

2a. I believe this is a good thing

2b. I believe this is is by design, not every library should aspire to being included in the standard library.

2c. See 2a

2d. I believe this this is a deliberate decision by the Go authors to encourage people to write and develop their own libraries which are not perceived as 2nd class compared to the std library. You can see this in the way that GOPATH overlays GOROOT, they are no independent namespaces -- your code and the code in the stdlib has the same precedence.

  1. Taking these last two points as written, Go doesn't appear to need, or inspire, centralization.

  2. For all it's problems, go get is phenomenally successful and required no central repository or coordinating body.

@elazarl
Copy link

elazarl commented Mar 23, 2014

Your code is a second class citizen compared to he standard library. There are special C functions in the runtime, not available to you, but available to, say, the net package. You can't insert your fd to Go's event loop on your own, net does that by utilizing net·* functions, etc.

I saw that when trying to instrument code from stdlib. You must convince Go that your code is the stdlib.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment