Rust? Like what's on some metals?
Rust? Like what's on some metals?
Rust? Like what's on some metals?
Something that deteriorates the structural integrity of load-bearing frameworks /s.
Being serious, it's another programming languages that is gaining popularity. Others can expand on why it's good. I've never used it myself so I can't comment in good faith. I also don't have any experience with Rust-bros so I can't comment on their code quality. I've mostly just been watching amused as they fight with the Linux development community.
Actual answer:
Rust is a relatively new programming language. Similar to C or C++ it compiles directly into executable binary code so it can be used for bare metal or low level operating system programming. It is thus relevant to Linux kernel development as things like drivers can and are being developed in Rust.
Compare this to the likes of Java or C# which get compiled to bytecode or a kind of pseudo machine code that gets run in a virtual machine, which has advantages for application development, or something like Python which is interpreted (or just-in-time compiled) at run-time, useful as an end user scripting language.
Rust is designed from the ground up to tackle some modern problems, a key one being memory safety. It's a lot more paranoid about memory allocation and access and it's structured around this. Older languages like C allow the programmer a lot more absolute control over the hardware, which effectively means the C programmer has a lot more footguns in his toolbox. Theoretically, Rust offers fewer opportunities for the developer to shoot himself in the foot.
Rust also comes with some really cool tooling. Compiler errors usually point straight at the problem and say something like "Shouldn't there be a colon here?" The build system, called Cargo, is really slick in a lot of ways, handling linking, compiling, even library package management in a very automatic fashion. It's real slick to work with.
As with anything, fans of the language can be a bit much; they stereotypically suggest rewriting everything under the sun in Rust whether it makes sense or not, and this includes the Linux kernel, which has caused some friction in the community; Linux contributors are often very accustomed to C and some don't want to deal with anything else.
I like the description by a Finn who said: Rust is like a car with automatic, while in C (or Zig) you need to change the gears. In Rust you literally follow the compiler, which allows many young developers to program at low level, while C demands more time to avoid bugs. It is up to each person what he/she prefers. I would prefer to control myself the stuff and learn the in and outs of memory management.
It's fair to want to learn (and it's certainly a good skill to have), but the question is what you'd rather see in a large, production environment. Guard rails are usually there for a reason. As for the control: you actually can program memory-unsafe (and in kernel development you often have to!) in Rust. The difference is that in Rust it's explicitly marked by an unsafe block:
rust
unsafe { ... }
That way you get the same, fine-grained control over low-level processes, but someone else reading your code can at a glace spot where potential memory bugs may be.
In the end, languages are a tool. Especially for personal projects, everyone should just go with what's fun to them. I personally think it makes sense, logistically, to slowly transition legacy C-based projects to Rust, because it makes onboarding new developers easier, while keeping the same memory safety that requires years of experience otherwise, basically for free. But there's really no rush to rewrite anything that's working well in Rust
I like the description by a Finn who said: Rust is like a car with automatic, while in C (or Zig) you need to change the gears.
I don't think this metaphor is correct. The automatic gear's analogy would be the Garbage Collector, which almost every mainstream language has. Rust's memory management, in comparison, is still manual. Maybe not as manual as C or Zig - but I'd say about as manual as C++. The difference is not that it has some weird gear-changing (memory cleanup) scheme that does not require human intervention - it's that it yells at you when you don't do the regular gear changing (memory management) properly.
I listen to Steve Gibson's podcast "Security Now" and he was talking about why, for security reasons, memory safe applications should be the way of the future. So many security vulnerabilities come from improper memory management. And while C may be more powerful, giving up some of that power for standardization is almost always worth it. We could make much more progress if we were spending less time trying to make sure the memory is handling correctly in every situation. So while there is no doubt the crazy fans of it, I think moving to memory safe languages in general should be the way of the future.
Of course, he still writes all his programs in assembly and refuses to learn anything else. But when you're at his age, I guess you get a pass XD
It's a survival crafting game where players help each other survive the world with mutual cooperation, kind words and absolutely no Nazi or racist behaviour.
Actually it’s a low budget western movie starring Alec Baldwin that resulted in the tragic killing of cinematographer Halyna Hutchins due to inadequate safety practices on set.
And no bee grenades
ABSOLUTELY no racism, whatsoever
Rust is a programming language designed to run on crabs. It just happens to also run on computers. When rust programmers talk about the borrow checker, that's something born directly out of having to run on crabs. It's difficult to get the little guys to cooperate otherwise. And when they talk about rust having good error messages that's because of the crabs too. The compiler is not just some piece of software, it's a piece of software being run on crabs and the crabs have some measure of intuition to them. Basically what I'm saying is that carcinization applies to computer hardware.
A type of person whos apartment would be a mess cause they never collect their garbage, but they have a good memory where they put things and what they need, so it is never a problem.
It's for programmers who need their Imposter Syndrome amplified.
HOW IS THIS THE ONLY MENTION OF THE FUNGUS!?
I know, right? It turns up on the sorrel in my garden every year
It's for people who suffer from severe anxiety when they see stuff like:
->
or *
for example. /j
->*
step one get hrt prescription
step two learn rust
step three buy socks
What, no, socks are step one, while you're waiting for your prescription.
It Makea da program go BRRRRRRRR
Red goes fasta
Not what, who. He's the protagonist of True Detective S1.
The red part of old metals, lick it!
No idea. I just like Python and stuff. Not much of a low level kind of guy.
We used to have good, strong open source tools made out of C (which is a lot like steel - it can only be worked by blue collar computer nerds with muscly brains). Now that steel core is corroding because of the influence of hackers and other white collar computer sorts with their creative problem solving, and unintended uses of memory.
That new corrosion is called rust, and it eventually appears on every C project that's left outside, unless someone comes along to brush it off occasionally.
It's that awkward language between C and Zig that (even decades after it's realized to be a false start) will take forever to die.
Ignoring the rest of your comment. There's no way rust is between C and Zig. Zig is supposed to be modern C while rust modern C++. I'd say zig is the one between C and rust
Iron Oxide. Everyone else is wrong.
No. OP meant to type crust which is an inedible handle for pizza. I will die on this hill.
It's a brutally competitive and toxic game.
You must be looking for /c/playrust
It's a programming language, which is particularly relevant for Linux, because it doesn't require a runtime (separate program that runs the code). This allows it to be used in the kernel.
But it also means that it's very good for building libraries. With a small bit of extra work, virtually any other programming language can call libraries implemented in Rust (like you can with libraries implemented in C).
Add to that, that Rust allows for performance similar to C and makes lots of typical C bugs impossible, and suddenly you've got folks rewriting all kinds of C libraries and applications in Rust, which is something you might have also heard about.
Thank you for the informative response. I knew rust was a programming language, but didn't know it's significance.
Ah yes, the C bugs in the kernel libraries. We've all seen them.
Ah yes, intentionally misunderstanding someone's comment. We've all seen them.
I mean, what the heck is this passive-aggressive comment? If you disagree with me, then come at me.
Plenty of patched memory leaks in the last few years. You can pretend they dont exist.
The bane of Intel CPUs, and a trigger word for C geriatrics.
A source of entertainment in the Linux kernel mailing list
Back in my day we coded in assembly and we liked it that way!
Back in my day I didn't code at all and I liked it that way!
(My day was today)
What is the issue with Intel CPUs? I'm OOTL here.
Some of their 13th and 14th generation CPUs have manufacturing defects that resulted in oxidation. In some use cases (servers and such), failure rates sometimes reached 50%. https://www.youtube.com/watch?v=OVdmK1UGzGs
It’s a 2025 movie, starring Alec Baldwin, that gained notoriety in 2021, when a cinematographer was accidentally killed by a live round fired from a prop-revolver that Alex Baldwin was using.
It's a multiplayer survival game in the vein of Minecraft.
That's a nice way to put it. I call it more of a Noob Murder Simulator
It's a cult.
cargo
cult
Have you heard of our lord and savior memory management?
No, not those other false gods
Rust is both a nice programming language, and an obnoxious social movement made of a small minority of Rust programmers who are very loud
oh I don't consider them obnoxious. I'm from Python-land, they've been saving our asses with good tooling lol. the quality of output from the rust ecosystem speaks for itself
uv <3
who are very loud
Most of the "should we or should we not" discourses/dramas I've read about were initiated or escalated by the anti-Rust crowd. They seem to be a lot more vocal (not to mention impolite) about their opinions than actual Rust developers.
Specifically in the Linux kernel, the 2 big reasons to use it are memory safety (huuuuggee benefit) and that a lot of younger devs like it and thus it will attract their contributions.
The only reasons I can think of to not use it are that some people want their own toolchain and having multiple languages in the kernel adds complication. But tbh, none of that justifies banning Rust stuff that realistically wouldn't have been written at all if C were the only option.
And then there's the people who show up in Phoronix, HN, Reddit, and YouTube comments saying Rust is over-hyped without showing why it's unfit for purpose and also trying to dictate what someone does with their own project. Perhaps it's something to do with the representation of queer people and other minorities in the Rust community, because otherwise I do not understand why people would be sooo passionate in hating the Rust community like the group I described above is.
That's rather rude and untrue ..... the programming language isn't at all nice! /s
ducks and runs away
a low level language that has really nice features when compared to c and c++, but honestly i find it difficult to read. probably my lack of experience with it, tho.
The very fast map in Call of Duty.
"1v1 me on Rust bro"
Ah those were the days
Does COD still have that map? The last time I played it was in MW2 on the Xbox 360.
As far as I know yes, I watched some videos where people were talking about the newest MW version and they showed that map, that's how I remembered :D
Both the 2019 Modern Warfare reboot and the 2023 sequel to the reboot Modern Warfare III had a remake of Rust in their respective map pools
Programming language like many others It has some fancy borrow checker that makes memory usage get statically analyzed by the compiler, so you dont have to manually manage memory, and the program won't need a garbage collector
so you dont have to manually manage memory
Not sure how this got upvoted with this glaring mistake. You have to manage memory. The point is that the compiler catches it if you make a memory management mistake, making things like data races, uses after frees, etc. literally impossible (short of intentionally using the unsafe
tag).
You dont have to malloc and free manually That's what it means by 'not needing to do it manually'
I think it's debatable whether RAII should be called "memory management". Whether dealing with Rust or modern C++, you don't need to "manage" the memory beyond specifying a container that will determine its lifecycle behavior, and then you just let it drop.
You could certainly choose to manage it more granularly than that in Rust or C++, but in the vast majority of cases that would be considered bad practice.
That's a qualitatively different user experience than C or pre-2011 boostless C++ where you actually need to explicitly delete all your heap allocations and manually keep track of which pointers are still valid. Lumping both under "memory management" makes the term so broad that it almost loses its significance.
It's a type of fungus.
Rust is iron oxide, mostly used to make thermite
Water? Like, in the toilet??