Hacker News new | ask | show | jobs
by falcolas 3734 days ago
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.

2 comments

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.

> - 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

Interesting. My chief criticism of Python (as a Python dev) is that Python has too much metaprogramming capabilities, and people always write code that is more clever than necessary. I find that Go's culture seems to value doing simple things unless absolutely necessary. In one case, a recent Ruby->Go convert made a middleware library called Martini that leaned heavily on reflection, and the community's response was something like, "This is neat, but this seems too clever to be idiomatic", and the developer turned around and built Negroni, which is (I hear) more idiomatic and less clever.