8 ms·
Do we have a name yet for the internet phenomenon where every time Go is discussed, Rust must be immediately brought into the conversation, and vice versa?
by vlunkr 6y ago
Do we have a name yet for the internet phenomenon where every time Go is discussed, Rust must be immediately brought into the conversation, and vice versa?
- asjw 6y agoI think the word you're looking for is marketing
- jeffrallen 6y ago"oxidation"
- munificent 6y agoIt shouldn't be that surprising. Both are "low-level" languages that came onto the scene around the same time, are highly opinionated, but stake out very different points on the design space. If you start talking about changing the recipe for Coca-Cola, surely Pepsi is going to enter the discussion at some point, right?
- gver10 6y agoThis doesn't explain the obsession with Rust. Fitting analogy: If there's an article about McDonald's, people would always talk about Wendy's instead. No one would mention BurgerKing (C++), Subway (D), KFC, ...
- viraptor 6y agoI see zig and d mentioned a lot on the rust/go posts about features and C++ on the posts about performance. It doesn't seem to be go/rust specific.
- darksaints 6y agoEverybody that talks about rust is talking from a different perspective with different values. What makes rust different from other languages is the breadth of use cases for which rust is a candidate worth mentioning. That's not so much an obsession as it is an availability bias on your part. You're seeing different people talk about rust obsessively in different contexts and assuming that those same people talk about rust in all contexts. If any of these features is of significant value to a programming use case, it is worth talking about rust: * Speed * Type safety * Memory safety * Memory determinism * Latency * RAII-based resource acquisition and destruction * Concurrency correctness / safety * Minimal runtime requirements * Low level bit manipulation (eg. Cryptography, compression) * Startup time * Networking This isn't exhaustive, but it gives a lot of different people in different domains working on different problems a reason to talk about the same language when comparing to their usual choices.
- athriren 6y agoI don’t know if this explains the entirety of the phenomenon but I do think this post helped me understand at least a portion of the pervasive mention of rust in almost any programming conversation on HN, which makes the fact that happens slightly less frustrating.
- marcus_holmes 6y agoyes, but the article is discussing Generics in Go. Nothing to do with Rust. Rust is absolutely NOT worth talking about in this context.
- darksaints 6y agoYou do realize that the lack of generics in go pushed a lot of go programmers towards rust, right? This feature of go is long overdue, and many people gave up on trying to get them implemented. The fact that they are now available has many programmers wondering if it is even worth switching back. That is context for discussion, and yes, it is relevant. Directly relevant, in fact.
- marcus_holmes 6y agoI get that. And that's a great discussion for the Rust community to have. I wanted to hear what Go devs have to say about this latest iteration of the generics proposal. But to do that I have to wade through endless comments about type systems and Rust. Even on comments directly talking about this iteration and how to use it, every other reply starts with "In Rust..." If implementing generics leads more of the Rust community back to Go, then from what I've seen here: no thanks. I have a feeling we'd see every conversation in every community forum start with "In Rust.."
- darksaints 6y ago> I get that. And that's a great discussion for the Rust community to have. It's also a great discussion for the go community to have. The only problem here is that it's not a discussion you wanted to have. Should every discussion about go revolve around you and your wants? If all you wanted was to hear what the go devs wanted to say, you could have clicked on the link and read it. Or could you possibly use the feature that was built for you: the [-] button to collapse a thread. Or maybe, just maybe, you could go to a place that is explicitly only about go, like /r/golang.
- libria 6y ago> BurgerKing (C++), Subway (D), KFC, ... PHP must be Taco Bell. It solves a lot of problems quickly, but you'll pay for it later.
- nilkn 6y agoI wouldn’t say that I’m obsessed with Rust. However, it’s the sort of language I’ve wanted essentially since I started programming: a Haskell/OCaml-like language with the sheer performance and practicality of C++. I’ve been a long-time user of Haskell, but I can safely say Rust has supplanted it almost entirely for me at this point. I never would have felt comfortable betting on Haskell in a commercial environment. Rust? Absolutely.
- rhlsthrm 6y agoThis is cool to hear. I've been interested in Haskell/OCaml to learn functional programming. Rust has other cool applications like WebAssembly too. I think I'll start learning it after I learn Clojure (trying to get into functional stuff first with Lisp).
- hopia 6y agoCan you expand on why you would not bet on Haskell for commercial work? What are those things that make Rust suitable for it but not Haskell in your opinion?
- deleted 6y ago[deleted]
- munificent 6y agoThe thing is, most discussions about Go are about adding features Rust has or making changes where Rust has something relevant to say. I chose my analogy carefully. Coca-Cola tried to change its recipe to make it sweeter because they did studies and found people liked the taste of Pepsi more. So any discussion of changing Coke's flavor means Pepsi is highly relevant. But the converse is not necessarily true. Pepsi doesn't have any (recent) history of trying to match their flavor to Coke. Maybe a better analogy is this: if Mercedes comes out with an electric car, you should expect to see Tesla in the discussions. But if Tesla comes out with a combustion engine, there's nothing particularly relevant about Mercedes in that discussion. I'm sure that if there were discussions about adding structural typing or lightweight fibers to Rust, then Go would show up. But most of the discussions tend to be around adding generics or sum types to Go.
- geodel 6y agoSorry. Either you are ignoring facts or you have not noticed at all. The point is if an article is about Rust it is quite unlikely that Go will appear in discussion but if it is Go discussion Rust will appear with almost 100% certainty.
- marcus_holmes 6y agothis. Every conversation about Go gets interrupted by a Rust fanboy saying "Rust does this better". The HN comments on this article have been derailed from any interesting discussion about Generics in Go to an utterly pointless religious war about Rust and type systems.
- politician 6y agoIt's gotten so bad that I wish @dang would start to intervene.
- geodel 6y agoIn spirit I agree. But Rusk fans would claim 1) expression of opinion in non-abusive way. 2) Enlightening programers who are unaware of "better" way of doing things. And both activities are fine at least technically.
- marcus_holmes 6y agoI totally agree with both those things. But the Rust fan should realise: 1. This opinion gets expressed on every single comment thread about Go, multiple times. Maybe have some respect for other people's right to have a discussion on a subject without derailing it with a tangential opinion about another language. 2. We all know that Rust is the one true programming language for every possible context. However, because we're clearly idiots, we're writing a program in Go. Pointing out how Rust would do it better isn't helping.
- gver10 6y agoNot a 100% fit, but we have: https://en.m.wikipedia.org/wiki/Cargo_cult_programming https://en.m.wikipedia.org/wiki/Cargo_cult_programming > a style of computer programming characterized by the _ritual_ inclusion of code or program structures that serve no real purpose.
- entha_saava 6y agoWas cargo famous before rust or maybe it should be npm-cult programming?
- MrRadar 6y agoThey both came on the scene at the same time, aiming for similar (though not exactly the same) markets, with Go aiming for something between a "better C" and "statically-compiled Python" and Rust a straight-up "better/safer C++". There's enough overlap between those two markets that it's natural for people to want to compare the two languages and how they've evolved over time.
- ChrisSD 6y agoTo be clear Mozilla first mentioned starting sponsorship for something called "Rust" a few months after Go was publicly announced. However that prototype "Rust" was a language almost entirely unlike Rust 1.0 (which didn't appear until 2015, five years after sponsorship was first announced). Go was already years into development before being announced and was used internally before the public 1.0 release. Today Rust and Go exist in different spaces. Go is a Python/Ruby/Java/etc alternative. Whereas Rust is an alternative to C/C++/etc. Obviously there is overlap between those sets of languages but that doesn't really mean Rust and Go are as directly comparable as HN comments might lead people to believe.
- jfkebwjsbx 6y ago+1 I don't understand people trying to make "a language that does it all". There has been a lot of that in Go, in Rust, in JavaScript, in Java, in TypeScript, in C++, in Haskell, in D...
- nicoburns 6y ago> Go is a Python/Ruby/Java/etc alternative. Whereas Rust is an alternative to C/C++/etc Except that in this years Rust survey, there were more people using Rust for "Backend Development" than any other purpose. Rust allows you low-level control, but in many ways it's higher-level than Go (it allows for more sophisticated abstractions that can be wrapped up in libraries). It's an excellent choice for web services. And many people find it more productive than Go (although the reverse is also true).
- ChrisSD 6y ago
- atdt 6y agogorrosion!
- bsder 6y agoNo, but I wish I saw Go vs Clojure, more often. To me, Go vs JVM ecosystem languages is a much more difficult choice. I would have to actually think a bit. To me, Rust and Go really don't occupy the same ecosystem niche. I can't think of a project where I would have to choose between them--the choice between them is almost always dead obvious given the project description.
- zucker42 6y agoClojure and Go seem like two of the least comparable languages to me. They basically have no commonalities. Comparing Java, Kotlin, or Scala to Go seems more valuable to me.
- bcrosby95 6y agoSuperficially they're very different. But lots of people use Go because its a "first class" concurrency language. Concurrency was given a huge consideration in Clojure too, with its immutability, STM, agents, etc. The reasons you might choose Go can overlap heavily with why you might choose Clojure, Erlang, or Elixir.
- vips7L 6y agoIs it really first class though? Anything CPU bound is basically a noop since GO doesn't have actual threads.
- bcrosby95 6y agoGo automatically multiplexes goroutines on top of OS threads. You can peg all the cores of a multicore CPU in a single Go program using goroutines. Edit: last I looked you could see how many OS threads would be used by looking at runtime.GOMAXPROCS. There was a time when it would just default to 1, but it looks like they changed it. When I last programmed in Go you had to override it via an environment variable or set it in code.
- darksaints 6y ago
- chooseaname 6y agoIt is called HN. You can’t ever discuss a language without also discussing Rust.
- geodel 6y agoHopefully not vice versa. In one way I put Swift, Java, and Go in same category. Their authors rarely show up in discussion which is not on their own subreddit, mailing list or any other discussion forum. Whereas Rust user and committers are much more interested in discussing what is good programming, nuances of PL theory and so on. It does not matter if the post is about Rust or not and specially if it is about Go.
- entha_saava 6y agoFearless shilling or zero manners evangelism.
- mseepgood 6y agoIt's called the Rust Evangelism Strike Force (RESF).