4 ms·
Back in the day, if you mentioned generics on any Go post on HN, you would be downvoted to the hell, interesting how everything comes full circle (unfortunately
by obilgic 6y ago
Back in the day, if you mentioned generics on any Go post on HN, you would be downvoted to the hell, interesting how everything comes full circle (unfortunately a bit late).
- MrBuddyCasino 6y agoSame with the hand washing/wearing masks inversion regarding COVID19 - people made fun of you two months back for preaching the obvious, and now nobody will even go as far as admit they were wrong, let alone apologise. Human nature. ️
- Bjartr 6y agoIIRC, that's because it got mentioned on EVERY Go post. People got tired of "Go should have generics!" and the ensuing arguments dominating every discussion about Go.
- obilgic 6y agoand still it took how many years?
- _ph_ 6y agoComments like yours are exactly the reason, the mentioning of generics lead to quick downvotes. Not aknowledging the reasons for not having generics right off the start, which have been clearly communicated by the Go maintainers. Comments, which don't add any substance to the discussion (usually they were even made out of context) and are pure nagging.
- jrockway 6y agoGo is on its way, like everything, through the Hype Cycle. It started at the Peak of Inflated Expectations ("Java will disappear overnight, and I sure hate Oracle and that one Java program I heard about 15 years ago"), and at that stage, any article that mentioned Go would get upvoted. Then came the Trough of Disillusionment. There were probably enough HN readers that had used it to realize that it wasn't the solution to every problem -- bad Go written by bad programmers was bad! I was promised that was impossible! It became the subject of flamewars both from bad experience and to push back against the visibility people didn't think it deserved. (Lots of reasons for this -- they wanted to write something in Go and nobody let them, Go came from Google which HN hates, etc.) The pushback here that really got traction was "Large company that I would normally hate because they sell ads has rewritten some small Go microservice in a new cool programming language." HN was willing to ignore its hatred for large companies, ads, and microservices as long as the article was shitting on Go. You gotta null out the Peak of Inflated Expectations somehow. Now we have entered the Slope of Enlightenment. Go has most of what it needs to be successful, and is objectively successful. So now it can be tweaked and refined -- time spent in the trenches making TLS or HTTP/2 or GC better has mostly made those things better, and it's on to the next things -- generics being the big one. You should watch the Hype Cycle very carefully with Rust. Rust is no doubt on its way to a Plateau of Productivity, but right now we're at the point where "My company only uses Rust!" or "I rewrote my foobarlang app in Rust!" will get you to the first page... but "Wow, my CI system spent 387 CPU days building my Hello World app last week!" is also starting to show up (on its way to the Trough of Disillusionment). I hate when things fall into rigid categories because it seems overly simplistic, but the Hype Cycle is spot on. Look for it and you'll see it everywhere.
- throwaway894345 6y agoThis is nonsense. No one said Java will disappear overnight. No one said Go was the solution to every problem. This is just straw man flame bait.
- jrockway 6y agoPeople were pretty excited back in the day. We may look back on this excitement and think it's unrealistic, and indeed it is. That is the Hype Cycle at work. People can't get enough of the shiny new thing, and will inflate things to make it look even better than it is. You have to watch out for the effect, as it's very common. The inflated expectations is what causes the transition to the Trough of Disillusionment as people begin to realize that what they were promised is an impossibility. In the case of Go, the lack of generics was a good sticking point. Here an article has promised me that Java is dead. But Java has generics. I guess I was lied to! The result was many breathless battles over whether or not generics were really necessary. Again, you have to understand that HN's biases play into this effect. There are many people here that want to be at the forefront of the field, but are outraged when they have to show up at an interview and code up a data structure on the whiteboard. If generics were in Go, then someone else would have already written the data structures, and they could continue to believe that the practicing programmer has no need to ever look at a computer science textbook. But the reality is, when you use Go, sometimes you have to show up and write an algorithm or a data structure. (The most common one I've written is an ordered set; a slice with the keys, and the keys and values in a map.) So you can see why emotions are going to run high. Two ideals are in direct conflict -- and generics are going to solve the emotional problems. Thus, much is said and argued on these topics. I have to say, I sleep way better at night knowing that the Go team is around to deal with all this stuff. There is a lot of arguing and strong emotions, and they sort through it all and continually produce something that seems sane. Because they do such a good job, I don't have to feed the hype cycle, I can sit here and enjoy the view from the Plateau of Productivity.
- throwaway894345 6y agoHype cycles are real, but Go wasn't really involved in one. Go generally lives up to its promises; with a few exceptions, Go's critics mostly take issue with Go for eliding features they believe are necessary for software development--their criticisms are framed as "Go lacks features I like so it can't be good". In particular, they're often (but not always) inexperienced with the language and haven't actually tested Go's specific feature set with respect to whether or not it improves their ability to develop software (i.e., they have faith in their favorite features, but aren't willing to test that faith by trying Go in earnest). But there's no material "trough of disappointment"--people who tried Go mostly like it and find that it lived up to its promises and most of the critics are simply disingenuous and defensive (this isn't a convenient writing off of critics, it's evidenced by the substance of their criticism--not that this will spare me any downvotes).
- geodel 6y agoTrue, It had gotten so bad that in last couple of years no one ever mentioned about Go Generics here and en masse moved to better languages.