this post was submitted on 02 Sep 2024
144 points (95.6% liked)
linuxmemes
21197 readers
144 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows.
- No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
founded 1 year ago
MODERATORS
In a different article, he said he had issues with the ext4 maintainer who was acting high and mighty about C despite being responsible for a number of huge CVEs from code that he wrote.
That being said, I don't really see the benefit of rewriting modules in Rust.
Technically, it's still not a 1:1 replacement because Rust will many times not generate the exact same machine code as C, which does result in a small loss of speed (and in some small cases, vice versa).
It's acceptable for anything new, but unless there's a notoriously painful part of the kernel, there's no pont in redoing existing parts and even core userspace binaries.
C quite literally makes you manipulate memory like a caveman holding a machine gun, but that's important because it's exactly what the machine is doing, which is required when you need to maximize efficiency. In Rust, you'd have to abstract some of that to the compiler to handle your logic which doesn't match what a machine is doing. There is no such thing as "borrowing" and "ownership" in machine code.
(As if spoken by the King to Simba:)
Rust: Everything from the bottom of this cliff to the acacia tree there is ours. Make sure you ask permission before you take something, take nothing you are not permitted to take. We don't go beyond that tree; and if you even think about the elephant graveyard beyond it; I'll kill you myself.
C: Everything the sun touches is yours. I caution you to not venture into the shadows; but I will not stop you, for you are a king, and nothing a king can do is unnecessary if it is for his people.