this post was submitted on 18 Sep 2024
285 points (97.3% liked)
Linux
48366 readers
1518 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It's harder to write because it forces you to be careful.
It forces you to be careful in the way it wants you to be careful. Which is fine, but it makes it a strange beastie for anyone not used to it.
Yes
But the trade off is well worth it.
For who?
You
It can be, sure. I prefer garbage collectors but I'm not doing systems programming.
I feel like a garbage collector would be too much a performance hit for kernel stuff.
2 things:
It's more the determinacy, a GC randomly fires up and your systems stops for some long amount of time. There are pauseless GCs but that's a different nightmare.
The kernel has things similar to GCs. They're used for more specialized tasks, and some (like rcu) are absolute nightmares that have take decades to get working.
C is easier to get a program to compile. Rust is easier to get a program working correctly.
And because it looks like C, JavaScript, Bash and a few others all mixed up together.
I've heard Rust described as “Rust is what you get when you put all the good features of other programming languages together. You can't read it, but it's freaking fast!”
why does it look like bash?
Looking back on my comment, I don't know why I was thinking of Bash. It does look a lot like JavaScript/Typescript, and C.
it's more "it forces you to make it burrow checker friendly".
A burrow checker is not the only mechanism to write safe code. All the mess of Rust is all because this is the strategy they adopted.
And this strategy, like everything in this world, has trade offs. It just happens that there are a lot, like, - a lot -, of trade offs, and those are insufferable when it comes to Rust...
Borrow* checker, btw
Gotta watch out for those rabbits messing with your kernel