5 ms·
I don't hate Go. I do strongly dislike posts with clickbaity titles that have an admission the title is wrong in the very first sentence. The rest of the artic
by sievebrain 11y ago
I don't hate Go. I do strongly dislike posts with clickbaity titles that have an admission the title is wrong in the very first sentence.
The rest of the article is little better. It can be summed up in one line: People who dislike Go are upset because they incorporated their favourite programming language into their identity, and the success of Go challenges their own choices.
Although I don't hate Go, I also don't like Go much, but it's not because it challenges my identity. I am not a Haskell or Scala programmer. I've used a whole bunch of languages in recent years, none of which are especially clever. I dislike Go because I agree with the criticisms of it and I'm afraid I might end up having to maintain code written in it one day. That wouldn't be much fun.
Fortunately, so far I've been able to avoid maintaining PHP or COBOL so hopefully my luck will hold and I'll be able to dodge Go too.
- deleted 11y ago[deleted]
- lostcolony 11y agoIf that's an accurate summary (I am not commenting on that fact), it's a completely clickbaity summary. Because it applies equally to why everyone hates every even semi-popular language (other than their one true love, if it's considered sufficiently popular).
- bryanlarsen 11y agoFor a one line summary, it's pretty accurate, but it's also a great illustration of why basing opinions on one line summaries is often a bad idea. The difference between Go and pretty much every other semi-popular language is that Go is very much defined by what it isn't rather than by what it is. In that way, its success is an implicit criticism of other languages much more than the success of any other language would be.
- stcredzero 11y agoWhat's worse, is that it's a criticism backed up by empirical data. But programmers are unique and lucky, in that they get to be illogical and dogmatic while getting to appear rational and technological.
- Justsignedup 11y agoI am not agreeing with your sentiment for Go but I do want to strongly agree with this statement: > I'm afraid I might end up having to maintain code written in it one day I have similar fears about Ruby. This is also true of many contractor firms where they write beautiful tested code which is designed to work really well right now, but not designed to last (think views rendering database objects). I think this is a sentiment people need to have when they see something cool or some sort of solution: Will I, in 4 years, want to maintain this? Will some person, in 4 years, curse my name for having written this?
- spyspy 11y agoI think python is going to keep eating ruby's lunch as more universities teach it.
- wyldfire 11y agoI agree the title's a bit baity. But this part stuck out for me: > When I first heard about Go, I thought "What? No exceptions? Pass." Lo about 12-13 years ago I balked at Python's significant whitespace, but I came around. And rust's lack of exceptions, but I'm coming around. I think there's certainly something to be said for "identity" (maybe it makes more sense to describe it as prejudice/bias/context, but whatever). I haven't given Go a fair eval yet so I can't say much (except I don't "hate" it.)
- jb613 11y ago"I dislike Go because I agree with the criticisms of it and I'm afraid I might end up having to maintain code written in it one day" and: "I also don't like Go much, but it's not because it challenges my identity" You are EXACTLY who the article is talking about. One of Go's selling points is maintainability. Go's inherent bias towards maintainability challenges your identity.
- sievebrain 11y agoSelling points are not facts, they're just arguments people who are trying to sell something like to make. Go's users and designers make all sorts of claims about it. As it happens, I've evaluated them and find that I often disagree with them. For instance, Go projects often don't specify the versions of their dependencies and choose to just clone the code into their own source tree instead - if you're lucky. If you aren't then the project simply depends on whatever is found in the dependencies git master branch. I find this to be poor practice from several perspectives, maintainability amongst them.
- jb613 11y ago"Selling points are not facts" except when talking about maintainability, you are not talking about facts. Show me the "fact" that Go is hard to maintain.
- sievebrain 11y agoI never said code written in Go is hard to maintain. I said I don't want to maintain it, because I don't want to debug or write Go myself. You're arguing with a straw man.
- jb613 11y agothe article is suggesting that when people say they don't want to debug or write in Go is because it challenges their previously formed beliefs in what they believe they need from a language. The fact that there may be another way or that projects are increasingly succeeding, challenges their identity.
- doki_pen 11y agoIf the engineer who wrote the code understood the problem well and was a decent engineer, then the code will be maintainable no matter what the language is. Understanding the problem well is very rarely achieved.
- sievebrain 11y agoThe issue is not "is the code maintainable" or "does Go lead to unmaintainable code". The issue is, do I wish to spend my days debugging code and writing more code, in Go? I used languages with Go's limitations back in the 1990's. I don't want to go back.
- spyspy 11y agoWriting and debugging code in Go is extremely more pleasurable than debugging, say, python. I write Go all day while our data scientists write python. Unfortunately python gives those guys enough rope to hang themselves and me too. It's simply harder (not impossible of course) to write unmaintainable code in a limited, static language like go.
- sievebrain 11y agoYeah, I wouldn't want to maintain a large Python codebase either.
- fixermark 11y agoPython in a nutshell: What you gain in flexibility and terseness, you more than lose in needing 100% unit test coverage, because every line could fail to execute (with an error that many other languages would find at compile time).
- deleted 11y ago[deleted]
- cdnsteve 11y agoBad code is bad code regardless of language. Some languages just make writing bad code more palpable than others.
- glennsl 11y agoI don't dislike Go. I just think there are zero use cases where Go is the best choice. But what I do dislike is when people try to hype and con others into adopting a language to justify and increase the return on their own time investment.
- titzer 11y ago> But what I do dislike is when people try to hype and con others into adopting a language to justify and increase the return on their own time investment. The same can be said of any programming language community, IMHO.
- dudul 11y agoTrue. This is why I find the point of the post kind of "backward". I don't think most people hate something because they feel attacked in their identity. I feel like it's the opposite: most people defend a certain technology at all cost because they feel attacked in their identity when somebody criticizes it.
- glennsl 11y agoSure. I think it's more prevalent among Go zealots, probably because so many were lured into it by the inital hype, but it's not at all Go-specific. Another example is the hype and love-hate relationship people have with Javascript MVC frameworks. Even with React, which actually deserve the hype, there are many who default to "hating" it because they're sick of being fooled by all the hype.
- dang 11y agoYes, that title shouldn't have been posted to HN (see https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html) and we've changed it accordingly. If anybody suggests a better title, we can change it again.