202408220939 Go is not worth it
#microblogI had to spend a lot of time recently — yet again — debugging weird edge case Go code in production. The person who wrote it had no idea how far off they were from writing something that behaved reliably and correctly. But they're also one of the people who I constantly hear proclaiming how easy it is to use Go, how simple it is, and how productive they are with it. To be fair, they're very productive at churning out bugs. But I'm tired of being on call for it.
This experience triggered me so hard, I almost wrote a whole blog post about how bad Go is. It constantly papers over real world complexity, has a whole arsenal of guns to shoot yourself with, and the people who don't realize that are the ones who love it and make my on-call shifts hell.
I hear the same arguments over and over about "simplicity" in the language that just don't hold up. I really don't understand if I'm just an absolute idiot or if there are loads of developers who don't realize that they're writing half-assed, buggy Go code while thinking it's "so easy and simple".
But honestly, I just couldn’t be bothered to write it all out. I'll never get through to those people. They'll have to learn it for themselves.
Turns out it's really simple to write things that don't work and not simple at all to write things that actually do. I'll take the tools that help me spend my evenings with my family over ones that tell me I'm the problem any day.