Hacker News new | ask | show | jobs
by gurjeet 1992 days ago
I have turned this comment into a blog post: https://news.ycombinator.com/item?id=25618264

It is a well written and in-depth look at the rot inside the Golang ecosystem. Make sure to read to the end and notice that the rot started at the core contributors level.

Golang's tagline, from their [repository][0], is "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software."

Reading this post by Amos should make it clear to you that Golang has succeeded ONLY in the "simple" part of the claim; unless written with extreme care, programs written in Golang are neither reliable, nor efficient.

Amos presents some examples of why I have disliked Golang since the beginning. After having used Golang for a few years seriously, I disliked it enough to start a fork of the language named [GoFY][1]. I named the language as such because, since the beginning when I saw some of initial presentations by Rob Pike specifically, and some others' presentations and blog posts generally, they had an air of ego when dismissing others' opinions and concerns, and appeared to say "these are our decisions, that is how it is, and if you don't like it, Go F* Yourself". So the project name was a GoFY to them back, from me.

I'm sure it looks a great language from afar, and for newcomers. But as a seasoned developer who has seen a few other languages in thier lifetime, you will quickly begin to see the problems with the language and the ecosystem around it. The astute among you may notice that in my [post yesterday][] I did not claim to be an expert in Golang; it's hard to be an expert in something that's fragile, flaky and full of special cases. For the same reason I never took up using MySQL; I have heard enough stories of its flakiness and special cases that it never looked like a solid technology to me. I openly and whole-heartedly recommend learning and using [Postgres][] to anyone who would listen.

[post yesterday]: https://gurjeet.singh.im/blog/persistence-perseverance [Postgres]: https://www.postgresql.org

Fortunately I did not invest any more time in it other than to document a few times in section ["GoFY Desired Differences"][differences] as to what I would like to see different in the GoFY language, which in turn would make it better than Golang, at least for long-time systems developers like myself. I am glad I didn't burn any oil on it because creating a new language, even a fork, is neither easy nor quick.

[0]: https://github.com/golang/go [1]: https://github.com/gurjeet/gofy/tree/gofy [differences]: https://github.com/gurjeet/gofy/tree/gofy#gofy-desired-diffe...

3 comments

> "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software."

This claim is mostly accurate from my experience if amended to "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software as long as you don't do stuff Rob Pike didn't expect."

I'm going to count "run on Windows" and "have non-UTF-8 filenames" among these.

As a systems developer with 20 years of experience in a variety of languages, I share your general frustration with Go. But I don't agree with any of the changes you suggested in GoFY.
Hey I saw a post you made about dmt and tinnitus. Same thing happened to me a few weeks back so I was researching to see if it gets better. Does it ever get quieter or will I have to hear through a ringing forever???
Interesting. Certainly it doesn't bother me anymore a couple years later, but I don't think it completely went away.

I was still never sure the dmt caused it so I would be interested to hear your story. Maybe email me? dev@doubly.so

Are you particularly proud of this GoFY episode? I mean, being all talk and no follow-through is ten-a-penny.