
Go Proverbs: Simple, Poetic, Pithy - smegel
http://go-proverbs.github.io/
======
Dawny33
Just in case you haven't read the footer text:

The proverbs are based on this awesome talk by Rob Spike:
[https://www.youtube.com/watch?v=PAAkCSZUG1c](https://www.youtube.com/watch?v=PAAkCSZUG1c)

And for new proverb ideas, you can open an issue here: [https://github.com/go-
proverbs/go-proverbs.github.io/issues](https://github.com/go-proverbs/go-
proverbs.github.io/issues)

~~~
erikb
The video seems much more reasonable for sharing, since it also explains
something to non-Golangers. Thanks.

~~~
sargas
Agreed. Small correction: non-Gophers rather than non-Golangers. Now you know
some more about the Go culture.

~~~
erikb
Gophers, all right.

------
soveran
For the original go proverbs, see
[https://en.wikipedia.org/wiki/Go_proverb](https://en.wikipedia.org/wiki/Go_proverb).

~~~
howeman
Or [http://senseis.xmp.net/?GoProverbs](http://senseis.xmp.net/?GoProverbs)

------
sleepychu
"A little copying is better than a little dependency."

I like this but how do you protect yourself against growing into a lot of
copying?

~~~
falcolas
Personally, I use the rule of three. If it's copied three times, refactor it
into some form of dependency. At that point, you should understand the use
case, and should be able to create a reasonably designed API.

~~~
krishicks
When doing this, be wary of what a friend of mine calls "misfactoring", an
example of which being where you take three very similar, very readable bits
of code and convert them into a single, parameterized mess that isn't
understandable at all.

------
ptrkrlsrd
Add some instrumentals and this becomes Radiohead's "Fitter Happier" anno 2016

------
PixZxZxA
Coming from Python, Go seems to be a pretty nice language. Is it worth giving
it a shot?

~~~
falcolas
Yes. It won't replace Python, but it's a good addition to the toolbox.

\- It's high level enough you won't find yourself writing excessive (i.e.
Java) amounts of boilerplate. But the corollary is that there much more
boilerplate in Go than Python.

\- It's fast enough to blow away Python for most network based usages.

\- There's enough metaprogramming capabilities to make some really clever
code. The downside is that there's enough metaprogramming capabilities to make
some really clever code.

\- You'll dig the distribution method of Go programs when compared to Python.

~~~
altotrees
Your comment is pretty much the argument I offer when discussing Go with
friends and colleagues who are skeptical of it.

I tell them to think of it as a tool in your arsenal, rather than the toolbox
that carries everything you need. You will write far less boilerplate than
Java, silly fast for certain network usages,and Goroutines have saved me quite
a few headaches.

With that said, it is still pretty new. But it is a great tool to have.

------
gamesbrainiac
I like the Zen of Python more.

~~~
thomasahle
I like them both. Simple lists like these, weak as they may seem, are often a
great help when balancing tradeoffs in actual code, I find.

------
buro9

      defer resp.Body.Close()
    

That's almost a proverb by itself.

~~~
omginternets
Since you mention it: when is it _necessary_ to close the response body?

~~~
buro9
Any time you managed to get a response you must close the body via a defer
resp.Body.Close()

And if you're using json.Decoder on the response body then it's worth noting
that if you know you're only receiving a single JSON object then draining the
remainder of the body will allow connection re-use as otherwise the connection
will be closed and not re-used: [https://github.com/google/go-
github/commit/e0ff7111b024fda99...](https://github.com/google/go-
github/commit/e0ff7111b024fda991e457d975e0b73e1380f05f)

~~~
omginternets
Even if I don't read the body?

~~~
buro9
Even if you don't read the body.

------
distrill
I like so much about go, but I think the gopher is so god damn ugly.

~~~
icebraining
While I don't agree, I do have to say that Plan 9 did get a much better mascot
in the form of Glenda.

------
am185
love the proverb: Don't panic.

------
sebringj
I like Go but I get an uncomfortable culty-vibe from this posting. Also, if we
could just title our blogs with "Interesting, Relevant, Engaging" so everyone
would read them would be so much easier.

------
erikb
I wish people would be more clear about what they mean:
[http://senseis.xmp.net/?GoProverbs](http://senseis.xmp.net/?GoProverbs)

I.e. write "Golang" instead of "Go"

