Why I Don't Like Golang (2016)
teamten.com
Why I Don't Like Golang (2016)
1–10 of 297 posts
Re: Why I Don't Like Golang (2016)
#2Re: Why I Don't Like Golang (2016)
#3Stopping compilation with an error for every unused import & variable is particularly annoying, so much so that I've patched the go compiler to treat them as warnings instead [1].
Ultimately, I think the problem boils down to a language that outgrew its original design, and hasn't evolved elegantly (yet).
Re: Why I Don't Like Golang (2016)
#4Re: Why I Don't Like Golang (2016)
#5(2016)
Re: Why I Don't Like Golang (2016)
#6That being said, Go isn't perfect by any stretch. Sometimes panic ins Go routines can be very hard to trace. The transition to Go modules is challenging for larger projects with versions beyond 1.x (when I started it was Glide, then dep, now go mod, which has been a bit frustrating). However, I wouldn't go back to Java, C#, PHP, or NodeJS if I had the choice.
My go to in the server space is Go and Elixir. I don't feel a desire or need for anything else, but again, that's me. You know your use case better than a stranger on the internet :)
Re: Why I Don't Like Golang (2016)
#7Re: Why I Don't Like Golang (2016)
#8> Structs do not explicitly declare which interfaces they implement. This is done implicitly by matching the method signatures. This design makes a fundamental error: It assumes that if two methods have the same signature, then they have the same contract.
Isn't this just duck typing? Don't other languages renowned for their type systems do this?
> There’s no ternary (?:) operator. Every C-like language has had this, and I miss it every day that I program in Go. The language is removing functional idioms right when everyone is agreeing that these are useful.
Expressive if/else is much more readable. Of course if Go doesn't have that, removing the ternary operator is a bad call.
> The tried and true approach of providing a compare method works great and has none of these drawbacks.
Hmm... except in anonymous cases. This author clearly has some Java stockholm syndrome.
> The append() function modifies the array in-place when it can, and only returns a different array if it has no place left.
That's horrifying.
Re: Why I Don't Like Golang (2016)
#9Some of the problems are really annoying and artificial such as "declared and not used/unused imports" trying to push golang opinion on code quality
Re: Why I Don't Like Golang (2016)
#10I'm surprised that someone can use Go for 3 years and still be hung up on the things that most people appear to get over in the first month.