Hypocritical Gophers

2 min read Original article ↗

Go is the COVID-19 of languages; it spread really fast, it didn’t seem that bad at first, but it sucks and I hate it.

Peter Christian Fraedrich

Press enter or click to view image in full size

The Golang gopher, looking nervous that someone’s about call him out for his b******t.

Most of my time over the past two years has been developing primary in Go. If you’re not familiar with the Go programming language let me sum it up for you real quick: take a modern, statically-linked, type-strict language and remove every advancement in development in the last 10 years or so, do some pretentious talks about how your language is the best one out there, and you have Go. Now, don’t get me wrong, Go is a fantastic language. The problem is that its also a horrible language.

Error Handling

In Go, errors are “bubbled up” to the top of the call stack, meaning that functions are expected to return an error as one of the return values. This is laid out in “Effective Go”, the official Golang.org guide to writing “idiomatic Go code”.

Library routines must often return some sort of error indication to the caller. As mentioned earlier, Go’s multivalue return makes it easy to return a detailed error description alongside the normal return value. It is good style to use this…