I heard a PeerTuber I follow talk about controversy around “Rust” as a dangerous cult or something, but that she thinks people should put aside their “petty grievances” and focus more on what good the project will do for Linux. I’m out of the loop, but I think Rust is a programming language, right? Anyone know what this whole thing about a cult is? I want to be filled in on it, because it seems important.
So, rust can do a lot of the same stuff as C and its various derivatives (further referred to as just C for simplicity here) Increasingly it’s gained prominence doing stuff that used to be only done in C. A lot of the core utilities and Linux kernel are written in C. Now, there has been some folks writing contributions to the Linux kernel in rust, and Ubuntu has done some work to rewrite some of the core utilities in rust.
I’m not privy to the deep lore (mailing list drama) but, my understanding is that there are a lot of people throughly opposed to using rust for important low level stuff in Linux and apparently some people who want to rewrite everything in rust.
I suspect the reality is that… as rust has gained prominence in other areas, some people have developed a lot of experience with it and are more comfortable with it than they are with C. They have thus advocated for using rust to contribute to things. People who are more comfortable with C on the other hand are frustrated when they try to parse a language they’re not as familiar with. And thus, many debates have raged over the qualities of one over the other, and salt has been scattered.
Ahhh okay. I totally get why people are debating this, even if I have no experience in these fields. I was mostly worried there was some crypto/AI bullshit behind the scenes of Rust or some shady funding… idk, something really bad other then an argument getting out of hand.
I’m not sure about a full-on cult, but the people who push Rust push Rust REALLY, REALLY HARD. And they frame any opposition as “you just need to GET WITH THE TIMES!!!”.
Much like the Wayland people, and the systemd people.
Personally, that massively turns me off. Especially because when I tried rust, it tried to force us to use snake_case instead of camelCase in our OWN CODE, throwing up “style warnings”. That’s not okay.
It feels like they want to end style diversity, programming language diversity, want everything to be done Their Way because it’s Just Better and how dare people disagree.
(Python has similar “having your own style is frowned upon” culture problems, I think, but they don’t really do the same “we need to wipe out other programming languages!!” shit.)
So I’m against Rust myself, not for technical reasons, but because of that.
– Frost
The remark about style warnings is really alien to me. Style warnings are something I’m accustomed to when programming in nearly any language. I can’t remember the last time I used a language where whatever IDE I happened to be using didn’t have style warnings. And I’ve never had trouble adapting. “Oh right, C# convention is PascalCase methods. Oh, Java is camelCase”. In fact I’ve been jumping between a C# project and a Java project recently, and I haven’t been finding it difficult. Rustc having some linter-type warnings built in is a bit novel I guess, but really not a fundamentally different experience. It’s really not any more difficult to disable those warnings for a Rust project than for a C# project. I don’t think I can understand calling that “not okay”.
There’s a difference between “adding a style checker yourself” (or the project owners doing it, if it’s not your project) and “having a style checker built into the core tools that yells at you unless you either conform, or turn it off in every single project you write”.
Sure, C# convention for the standard APIs and whatnot may be PascalCase, Java camelCase, and whatever. But that doesn’t mean that Everyone Must Follow The Standard Convention. That way lies Python and frankly, Python’s “there is One Correct Way to do everything” culture really turns me off.
But even Python doesn’t do this. Neither does Java. Yeah your IDE might, but that’s a weird IDE feature then. And we can just use a different IDE. You can’t just a) use a different compiler and b) tell everyone who’s interested in your project to use the different compiler or ignore the warnings, they’re spurious trust me bro.
Like, Rust’s style checker nonsense is “remind me later” culture. Trying to wear you down by making you say “no, stop trying to get me to use your style instead of mine” in every. single. project until you break down and stop caring.
That’s why it’s not okay.
(inb4 “but what about other warnings!”: those are actual problems with the code, or stuff that might turn into problems. “Having a different coding style than the language authors’ personal decree” just isn’t.)
Right, I see what you mean. That’s just a weird perspective to have. I know right now Kdenlive is pretty much the only FLOSS video editor, but if there were other comparable ones, imagine if I tore you to pieces over your choice to use the other one? For no reason? Damn.
Yeah! Exactly.
(There are plenty of other video editors, by the way! We’ve only used Kdenlive, but have heard of Shotcut and… Open…something-or-other? But yeah, there’s more.)
The Rust people often push the idea that “Rust is the only memory-safe language” (or at least imply it, “all projects should be written in Rust for memory safety!”), completely ignoring that like… MOST languages are memory-safe these days. Yeah, that doesn’t apply as much in the low-level space C sits in, and C is the opposite of a memory-safe language (it’s basically “memory is just a bunch of bytes, do whatever you want, just be careful”), but still.
(C does have advantages, though. It’s been around forever, the way C programs are built is kinda foundational to how programs are built in general on Unix, and basically every language that has cross-language interoperability does it with C, so libraries in C can work with nearly everything. It’s also relatively simple to implement (compared to other languages), which is great if you’re writing a compiler for fun or for a new architecture. I kinda like C! Absolutely abysmal string handling though. But for that there’s Perl. Which, is memory-safe. :3)
– Frost




