10 ms·
Is there a term for this phenomena yet? "if another language is being discussed, Rust must be forced into the discussion, no matter how tenuous the connection"
by ferdowsi 5y ago
Is there a term for this phenomena yet?
"if another language is being discussed, Rust must be forced into the discussion, no matter how tenuous the connection"
- MichaelBurge 5y agoThe old term for .NET/Java was "Managed" languages. "Managed C++", "C# is a managed language", because they all manage your memory for you. Rust's primary language feature - the borrow checker - is about adding compile-time checks on resource management(mainly memory), and the original article talks about boxed vs. value types being a major source of inefficiency. So talking about Rust in a comparison of C and Java mentioning memory indirection bottlenecks seems about the most relevant place to discuss it.
- Jansen312 5y agoMost people talking about C# and Java, they refer mostly to application development. You rarely hear these languages at system programming (doable, just rare). Rust is at C/C++ level when it comes to system programming and eliminates a lot of C/C++ issues and yet added features found in Java and C#, and even Haskell. People just don't know a lot about Rust to criticize upon and yet seeing it mentioned everywhere. I can understand if some feel a bit "fed-up" seeing Rust brought up in a non-Rust thread. But I do agree with you, Rust is very relevant for discussion here.
- est31 5y agoGit is the subject of the linked e-mail. Mercurial is the big contender to git that is not written in a C language. Their response to Hg's performance issues was not to use or create some Python feature that allows them to speed up some fast paths, but to use a proper low level language in the first place, which happens to be Rust. I'm not sure you can get more relevant to the discussion than this. The trend seems to go away from high level languages in the VCS space. Developer time is one of the most expensive resources that FANG pays for, so any kind investment in performance improvements is going to pay off quite well.
- sigjuice 5y agoIs there a term for this phenomena yet? "if another language is being discussed, Rust must be forced into the discussion, no matter how tenuous the connection" Rustrusion
- Twisol 5y agoArguably, carcinization [0]. [0] https://en.wikipedia.org/wiki/Carcinisation https://en.wikipedia.org/wiki/Carcinisation
- pmarin 5y agoHype
- bsder 5y agoWell, I would prefer that people would discuss alternate systems programming languages when "C is fast" comes up. We could use some perspective from, say, Ada programmers. Unfortunately, none of them ever seem to show up.
- zerocount 5y agoThey don't show up because their not out evangelizing every oppurtunity they get.
- bsder 5y agoAnd perhaps that's why other languages are more popular? Akin's Laws of Spacecraft Design are appropriate here: > 20. A bad design with a good presentation is doomed eventually. A good design with a bad presentation is doomed immediately.
- pyjarrett 5y ago> say, Ada programmers. I stand summoned. > Unfortunately, none of them ever seem to show up. We do from time to time, but people assume our language is dead (it isn't). I learned it last year and I've been very impressed by how simple it is, given the speed you get with it. It was a "big language" at the time, but now it's a language smaller than Rust or C++ which offers good performance with straightforward syntax. Ada also has a package manager now which includes toolchain install. Ada has inline assembly, easy usage of compiler intrinsics, dead-simple binding to C, built-in multi-tasking (which includes CPU pinning), a good standard library, RAII, and real honest-to-goodness built-in, not-null-terminated strings. It's a compiled language, so you get good speed in general, but the built-in concurrency really does help work which can be split up. Ada 202x is getting even finer grained parallelism (parallel for-loops) in the language itself to even further help this. - https://alire.ada.dev/ https://alire.ada.dev/ - https://learn.adacore.com/ https://learn.adacore.com/ - https://github.com/pyjarrett/programming-with-ada https://github.com/pyjarrett/programming-with-ada - https://en.wikibooks.org/wiki/Ada_Programming https://en.wikibooks.org/wiki/Ada_Programming
- 5y ago
- anothernewdude 5y agoCan hardly blame people for talking about modern languages in a discussion about obsolete ones.
- fivea 5y ago> Can hardly blame people for talking about modern languages in a discussion about obsolete ones. The point is that the issue does not involve people discussing "modern languages", just mindlessly shoehorning references to Rust into any discussion involving any application of a language which is not Rust. I get Rust fanboys are excited about their hobby, but this sort of obsessive "when the only tool you have is a hammer" discussion is very tiring and fruitless, and only conveys a poor image of Rust's community.
- sgift 5y agoSo, let me get this straight: We have a thread about a programming language (Java), then it gets compared to another programming language (C#), then it gets compared to a third one (C) and no one bats an eye. But when Rust is mentioned it's because of "fanboys". Yeah, sure.
- fivea 5y ago> So, let me get this straight: We have a thread about a programming language (Java) (...) No, you really don't. If you read the thread you're commenting on, you'll notice it's about C#. The very first comment of the thread you're discussing in, and also the top post of this discussion, is, and I quote: > It is quite interesting that most of the problems mentioned don't exist in recent version of C# on .NET Core, considering all the similarities of C# and Java. (...) And somehow Rust fanboys parachute into the discussion to yet again talk about their hammer handling all nails and nail-like problems.
- Taywee 5y agoThe thread I'm seeing is a top-level comment about C#, a reply that is on-topic and mentions Rust, and also assembly, Python, Hg, "scripting languages", and wasm. Rust is exactly as relevant here as any of those other items, but people are getting really upset about the Rust mention. I think in a discussion that already started by comparing different performance characteristics in different languages in a VCS, it's not at all out of line to bring up the fact that another VCS is being rewritten into any particular language. It seems to me that the anti-Rust sentiment is far more disruptive and off-topic here than the mention of Rust in the first place was.
- coolso 5y agoI believe not mentioning Rust whenever possible is strictly forbidden as "mean behavior" in the Rust Code of Conduct.
- Ygg2 5y agoIt's actually the opposite. If anything being evangelical about Rust is heavily discouraged The truth is Rust is an amazing language, with its own warts (async, Pin, etc.), but there is pent up demand for language that fits its description. Non-manual, non-GC low level oriented language. It's not a wonder some projects are switching to Rust
- richardw 5y agoI’m not a…rustafarian?…but we didn’t get as cross when C# was mentioned above, in a thread about Java and C. In fact it’s top comment at my time of reading.
- ameliaquining 5y agoI think in this scenario it's totally germane to mention Rust because the problem described in the linked post is exactly the problem that Rust was designed to solve: providing sufficiently precise control over low-level runtime behavior that you never hit a "sorry, it's not possible to do that optimization in this language" situation, while still (arguably? hopefully?) qualifying as a "higher-level language" in the relevant sense. In particular, every problem with Java that the post describes has a straightforward solution in Rust, and this kind of thing is why Rust exists instead of, e.g., Mozilla just rewriting Firefox in an existing managed language with a garbage collector. That being said, GP seems to imply that Rust should be the default choice for basically every problem, which goes way too far. Not every application needs this kind of low-level control. Maybe even most don't (although I look forward to a future where it's easy to drop into Rust from a managed language when you hit a performance wall; I think this has been mostly achieved for Python, but not yet for other languages). But some do, and it sure sounds like Git's one of them.
- kaba0 5y agoRust is a low level language no matter how productive it may be. The memory layout will simply leak into the program architecture and will have to be altered on refactors — something which is transparent with managed languages.
- enedil 5y agoWhat do you mean here by memory layout? For instance, the order of fields in a rust struct can (theoretically) change by recompiling. It's not defined by the order of fields in the definition.
- drainyard 5y agoUnless you add a repr(C) attribute for C interop.
- kaba0 5y agoOn a language level, high level APIs will necessarily contain details to things like (mut) reference, Box whatever. Which is not a problem at all, given the problem domain, but in my opinion it is not possible to make a both low and high level language at the same time (and it is not really needed either)
- mbreese 5y agoThis always happens with whatever language is in vogue at the time. Now it’s Rust. It used to be Go (which still has a little juice left). Before that, Closure and Haskell both had runs. And before that… hell, I remember when Java was talked about this way. This is the natural order of things and is good. And the proper term for introducing Rust should be “oxidation”.
- stefanve 5y agoelixir, RoR and nodeJS, (and Python a couple of times) spring to mind. Some of those languages have found a niche. But lot of new languages made older languages nicer by adopting language/framework features