pull down to refresh

I have become a Go maxi.

After a long time working with Python and NodeJS software and after the initial weirdness (wtf are channels and goroutines and why should I care), it's feels really nice to work in a statically typed language (without generics however ...) again where concurrency support is built-in with goroutines and channels. It feels soooo much better to have a compiler do type checking for you (in a guaranteed way) even if that means you have to define your types first, so you are slower first. But I would trade runtime errors with compile-time errors any time.

Also, the build process spits out a single binary which can be run anywhere where golang is installed (afaik) and the ecosystem is not a complete mess like Python (looking at you, Python package managers) and NodeJS (npm vs. yarn, CJS vs ESM, Javascript vs TypeScript). I also like how imports work in Go. In Python, you run into this circular import issue pretty fast if you don't try to stay ahead of it.

I also tried to learn Rust but the syntax felt rough. When I tried out Golang, I didn't look back.

@theindranetworkprotocol also made me try out Go. If I remember correctly, he also mentioned here and there how awesome Go is.

reply