Hacker News new | ask | show | jobs
by mewwts 2650 days ago
I love how the distributed web is seemingly built more and more in golang these days.

- https://github.com/ethereum/go-ethereum

- https://github.com/ipfs/go-ipfs

- https://github.com/textileio/go-textile

- https://github.com/lightningnetwork/lnd

to name a few other projects.

3 comments

Mine is also (Aether - https://getaether.net). I’ve also gotten comments reflecting on this same thing. I love Go. It is boring: it makes sure that I focus on doing interesting things, not on writing interesting code.
aether is the coolest
Why do you love that its go in particular? (seriously asking, out of curiosity. why Go over all other languages, e.g. Rust and such)
Go is simpler than most other high performance languages - easy to read and understand unfamiliar codebases. It helps that go compiles to native binaries for various platforms and runs with no or minimal dependencies.
I would mostly attribute this to go’s compositional and prescriptive nature. Go sort of pushes you toward building highly reusable pieces that can be combined to create a system. It does that in a way that’s incredibly easy to grok, which allows developer communities to more easily grow around products.
Perscriptive? Maybe. Compositional? Absolutely not.

I blame the things not being done sooner on Go.

Compositional meaning composed of core elements that are combined to create something else.
I know what it means, I'm saying Go doesn't have it (relative to other languages).
I would say that go is very compositional in a simple manner that makes it easy to grok and hence the tools end up being highly reusable. Not all languages push you toward decomposition, but I would argue its the most important trait of a language and its community. But you know how programming language discussions go =P
Well that’s everything
Fanboyism
On a more serious note, I do think it’s probably related to group identity (or described as “tribes” in popular media) that explains it.

A large project using their language of choice (Go in this instance) gives external validation that their tribe is growing, and thus having made the correct choice to join it.

Cross compilation and static binaries.
It only means that all this will soon die. Ruby of 2017-2019.