friendica.eskimo.com

pnutzh4x0r via Linux lemmy (AP)

Linus Torvalds: Speaks on the Rust vs C Linux Divide

Linus Torvalds Speaks on the the divide between Rust and C Linux developers an the future Linux. Will things like fragmentation among the open source community hurt the Linux Kernel? We'll listen to the Creator of Linux.


For the full key note, checkout:

The Register's summary: Torvalds weighs in on 'nasty' Rust vs C for Linux debate

This entry was edited (1 month ago)
204 6 1
GravitySpoiled lemmy (AP)

I don't want to watch a video about it.

I'd like to know it, but a couple of sentences wouldn't have hurt

34 3 1
ProgrammingSocks lemmy (AP)
Rust is harder to write but infinitely safer, and equivalent in speed.
20 4 1
Kairos lemmy (AP)
It's harder to write because it forces you to be careful.
21 3 1
Nanook friendica

@Kairos @ProgrammingSocks If you are used to being careful, it should not be that much harder, but the plethora of use after free, buffer overruns, buffer underruns, pointers being used before initialized, etc, fixed in every single point release of the kernel makes it clear for many that is not the case.

I expect there are a lot of people who familiar with C have never moved on to other languages because of memory management issues. Garbage collection is inefficient and results in non-deterministic behavior, and that up until rust has been pretty much the only option available.

Now we have a new language that fixes memory allocation errors without a performance penalty. I am sure there are many that, like myself, see it as a blessing but there are only so many hours in the day and it will take some time to learn.

Ultimately because of the sheer number of man-hours spent on fixing the kind of bugs introduced by poor memory management, and the increasing criticality of proper operations, a segfault in the middle of a automatic driving operating in heavy traffic for example, would not be good, and now airbus is looking at pilotless aircraft, these kinds of applications leave no room for error and I think will drive mainstream adoption of rust.

Shoreline, WA, USA
atzanteol lemmy (AP)
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.
11 1
Kairos lemmy (AP)

Yes

But the trade off is well worth it.

6 1
ryannathans lemmy (AP)
For who?
3 1 1
gerdesj lemmy (AP)
You
2 2 1
atzanteol lemmy (AP)
It can be, sure. I prefer garbage collectors but I'm not doing systems programming.
2 1 1
Kairos lemmy (AP)
I feel like a garbage collector would be too much a performance hit for kernel stuff.
This entry was edited (1 month ago)
6 1
nous lemmy (AP)
C is easier to get a program to compile. Rust is easier to get a program working correctly.
7 1
blackbrook lemmy (AP)
FWIW, it's a 9 min video and doesn't contain anything earth shattering or easily summarized. Basically there is some friction between C and Rust devs, and Linus doesn't think that it's such a bad thing (there has be interesting discussion) and it's way too early to call Rust in the kernel a failure.
19 1
Vincent lemmy (AP)

This summary seemed pretty good though.


I took notes for the benefit of anyone who doesn't like their info in video form. My attempt to summarize what Linus says:

He enjoys the arguments, it's nice that Rust has livened up the discussion. It shows that people care.

It's more contentious than it should be sometimes with religious overtones reminiscent of vi versus emacs. Some like it, some don't, and that's okay.

Too early to see if Rust in the kernel ultimately fails or succeeds, that will take time, but he's optimistic about it.

The kernel is not normal C. They use tools that enforce rules that are not part of the language, including memory safety infrastructure. This has been incrementally added over a long time, which is what allowed people to do it without the kind of outcry that the Rust efforts produce by trying to change things more quickly.

There aren't many languages that can deal with system issues, so unless you want to use assembler it's going to be C, C-like, or Rust. So probably there will be some systems other than Linux that do use Rust.

If you make your own he's looking forward to seeing it.


2 1
ReversalHatchery lemmy (AP)

1, 90 or 9 minutes, in any case it needs a speaker to be watched, and often mobile data cap when not at home.

and a fair amount of rewinds for a lot of non-native english ~~speakers~~ knowers

4 1
mac lemmy (AP)

I also dont like videos for this stuff. Summarized using kagi's universal summarizer, sharing here:

  • The integration of Rust into the Linux kernel has been a contentious topic, with some long-term maintainers resisting the changes required for memory-safe Rust code.
  • The debate over Rust vs. C in the Linux kernel has taken on "almost religious overtones" in certain areas, reflecting the differing design philosophies and expectations.
  • Linus Torvalds sees the Rust discussion as a positive thing, as it has "livened up some of the discussions" and shows how much people care about the kernel.
  • Not everyone in the kernel community understands everything about the kernel, and specialization is common - some focus on drivers, others on architectures, filesystems, etc. The same is true for Rust and C.
  • Linus does not think the Rust integration is a failure, as it's still early, and even if it were, that's how the community learns and improves.
  • The challenge is that Rust's memory-safe architecture requires changes to the existing infrastructure, which some long-time maintainers, like the DRM subsystem people, are resistant to.
  • The Linux kernel has developed a lot of its own memory safety infrastructure over time for C, which has allowed incremental changes, whereas the Rust changes are more "in your face."
  • Despite the struggles with Rust integration, Linus believes Linux is so widely used and entrenched that alternative "bottom-up grown-up from the start Rust kernels" are unlikely to displace it.
  • Linus sees the embedded/IoT space as an area where alternative kernels built around different languages like Rust may emerge, but does not see Linux losing its dominance as a general-purpose OS.
  • Overall, Linus views the Rust debate as a positive sign of the community's passion and an opportunity to learn, even if the integration process is challenging.
This entry was edited (1 month ago)
3 3 1
kbal mbin (AP)

I took notes for the benefit of anyone who doesn't like their info in video form. My attempt to summarize what Linus says:

He enjoys the arguments, it's nice that Rust has livened up the discussion. It shows that people care.

It's more contentious than it should be sometimes with religious overtones reminiscent of vi versus emacs. Some like it, some don't, and that's okay.

Too early to see if Rust in the kernel ultimately fails or succeeds, that will take time, but he's optimistic about it.

The kernel is not normal C. They use tools that enforce rules that are not part of the language, including memory safety infrastructure. This has been incrementally added over a long time, which is what allowed people to do it without the kind of outcry that the Rust efforts produce by trying to change things more quickly.

There aren't many languages that can deal with system issues, so unless you want to use assembler it's going to be C, C-like, or Rust. So probably there will be some systems other than Linux that do use Rust.

If you make your own he's looking forward to seeing it.

344 1 1
pnutzh4x0r lemmy (AP)
This is a great summary. Thanks!
49 1
GenderNeutralBro lemmy (AP)
So probably there will be some systems other than Linux that do use Rust


There's one called Redox that is entirely written in Rust. Still in fairly early stages, though. redox-os.org/

23 1
JetpackJackson lemmy (AP)
Thank you for the summary!
15 1
pastermil lemmy (AP)
Good bot!
4 3 1
gwilikers lemmy (AP)
On a tangential note, what does Linus used, Vi or Emacs?
18 1
thingsiplay lemmy (AP)
If we can believe random strangers in the internet, then Linus uses a self maintained lighter version of Emacs, or has. Looks like Linus is an Emacs guy.
3 1

How is it that no matter what the damn topic is, Linus always seems to be the most level-headed in the room? I really admire him for that...


Edit: Lol, Linus, not Linux. Linus. xD

This entry was edited (1 month ago)
3 1 1
Allero lemmy (AP)

Linus did have emotion control issues and was not always completely rational, but he's gone a long way towards being incredibly responsible to his child that powers the world.

Also, he long understands that Linux ain't a hobby project, which some programmers still get to think.

12 1
Vincent lemmy (AP)
Doing the lord's work, thank you.
19 1
gomp lemmy (AP)
I took notes for the benefit of anyone who doesn’t like their info in video form.


I love you.

65 1
MonkderVierte lemmy (AP)
So probably there will be some systems other than Linux that do use Rust.


Isn't there Redox OS?

Edit: yes, it's still alive and kicking.

11 1
corsicanguppy lemmy (AP)
vi versus emacs


You write "vi versus the world" funny.

8 1
caseyweederman lemmy (AP)
I use Micro except for when I forget to install it and can't, at which point I use Nano
1 1
it's a polite way of saying, "intelligence vs emacs"
This entry was edited (1 month ago)
1
Rozaŭtuno lemmy (AP)
Good human.
27 1
HeartyOfGlass lemmy (AP)
Thank you for the write-up!!
3 1
Psyhackological lemmy (AP)
I think it can be summed up to
C is more mature than Rust so we wait for Rust to shine
Rust can overcome some complex things in C and vice versa
5 1
alyxbond mbin (AP)

Linus Torvalds has made some interesting comments on the Rust vs C debate in the Linux kernel. He enjoys the discussions because it shows that people care about the project, even though things can get a little heated like the classic vi vs emacs arguments. The Rust conversation is still in its early days, and while Linus is optimistic about its future in the kernel, it’s too soon to say whether it will ultimately succeed or fail.

He points out that the Linux kernel isn't just "normal" C it's C with additional tools and rules that ensure memory safety and other protections. This incremental approach has allowed for changes without causing the kind of backlash that Rust has faced with its more dramatic changes.

At the end of the day, the kernel has to deal with system-level issues, and unless you're working in assembly, it’s going to be C, C-like, or Rust. Linus is looking forward to seeing how other systems outside of Linux might adopt Rust for their own needs.

If you're interested in exploring more of these tech discussions or maybe looking for some related tools, you can download APK for access to various Linux utilities on mobile.

1
thingsiplay lemmy (AP)
You can't improve and break silence without discussing and making changes. The existing maintainers won't live forever, having Rust in the Kernel is a bet on the future. Linus wouldn't have adopted and accepted Rust, if he wasn't thinking its worth it. And looks like it was already worth it.
44 2 1
corsicanguppy lemmy (AP)
The existing maintainers won’t live forever, having Rust in the Kernel is a bet on the future.


You're drastically reducing your talent base by requiring membership in two groups of experts. Well done.

The comma splice gives it away, but you're new at organizing groups and practicing set theory, aren't you?

1 24 1
thingsiplay lemmy (AP)
No. That does not mean they have to program in both languages. If the programmer only understand one language (which would be a shame), then they only need to program in their field. This increases the talent base, not reduces it. C programmers do not need to be a Rust expert, so what in the world are you saying there? They just need to cooperate!
20 1 1
x00za lemmy (AP)
I think you're correct except for "having Rust in the Kernel is a bet on the future". That's something the techbro's would say.
7 12 1
λλλ lemmy (AP)

Do you have something against it? People hate on it like it's a fad or whatever. But, the people who like it, LOVE it.

Rust is the most admired language, more than 80% of developers that use it want to use it again next year.


survey.stackoverflow.co/2023/#…

Rust is on its seventh year as the most loved language with 87% of developers saying they want to continue using it.


survey.stackoverflow.co/2022/#…

8 years in a row. I can understand the perspective of someone who spent years honing their craft in C/C++ and not wanting to learn a new language. But, the Harassment of the "Rust in Linux Lead" is ridiculous. I'm not saying you are harassing. But, saying it's a tech bro thing is just negative and doesn't do justice to how many devs just like rust.

13 1
x00za lemmy (AP)
I only have something against the syntax, but nothing against anything else about it, nor is my comment meant as a negative against the language. What I referred to was simply about how that stupid sentence is not a good comment and completely personal opinion. I am sure a lot of programming languages would have gotten the same label at one point in time. And many times they have been superseded by the next big thing.
3 1 1
λλλ lemmy (AP)
Fair enough. Personally, I am a developer who only has worked professionally in C#. C/C++ scare me. I would get used to it if I were to use it professionally. on the other hand, I picked up rust as a hobby language for some low level stuff because I love the guardrails the compiler provides. I think rust would help make me a better C programmer TBH.
1
x00za lemmy (AP)
C isn't too hard if you learn about how memory and pointers work, which seems to be something Rust tries to get away from. So I'm not sure it would make you a better C programmer.
1 1
If anything I think that the current rust discourse is a fad. I'm not sure what it is about rust that makes people have so strong opinions about it but I can't wait for it to become a "normal" language so that people can chill about it a bit.
2 1
λλλ lemmy (AP)
I agree. People need to chill.
1
refalo lemmy (AP)
It's also possible the number of people who like it do not outnumber the people who don't like it
1
Nanook friendica
@λλλ @x00za Well for what it's worth, there is Redox, a Posix compliant kernel written entirely in Rust. There are some other aspects of Redox I don't like, chiefly it's use of a microkernel, which, while it makes portability better it exacts a performance penalty, and of having all drivers operate in userland, perhaps better from a security standpoint but again exacts a performance penalty.
1
toastal lemmy (AP)
If you believe in ADTs, limiting mutation, & a type system that goes beyond Rust’s affine types + lack of refinements (including a interleaved proof system), you could be writing kernel code in ATS which compiles to C.
1 1
there have been attempts at writing kernels using stuff like Coq
cs.columbia.edu/~rgu/publicati…
1 1
toastal lemmy (AP)
Correct me if I am wrong, but my understanding is that you use Coq to prove your theroem, then need to rewrite it in something else. I think there is some OCaml integration, but OCaml—while having create performance for a high level language & fairly predictable output—isn’t well-suited for very low-level kernel code. The difference in the ATS case (with the ML syntax similarity 🤘) is you can a) write it all in a single language & b) you can interweave proof, type, & value-level code thru the language instead of separating them; which means you functions need to make the proof-level asserts inside their bodies to satisfy the compiler if written with these requirements, or the type level asserting the linear type usage with value-level requirements to deallocate memory as well as compeletly prevent double free & use after free.
1
toastal lemmy (AP)

Correct me if I am wrong, but my understanding is that you use Coq to prove your theroem, then need to rewrite it in something else. I think there is some OCaml integration, but OCaml—while having create performance for a high level language & fairly predictable output—isn’t well-suited for very low-level kernel code. The difference in the ATS case (with the ML syntax similarity 🤘) is you can a) write it all in a single language & b) you can interweave proof, type, & value-level code thru the language instead of separating them; which means your functions need to make the proof-level asserts inside their bodies to satisfy the compiler if written with these requirements, or the type level asserting the linear type usage with value-level requirements to if allocating memory, must deallocate memory as well as compeletly prevent double free & use after free.

For those in the back: Rust can’t do this with its affine types only preventing using a resource multiple times (at most once), where linear types say you must use once & can only use once.

This entry was edited (1 month ago)
1
You'r right that only OCaml and Haskell can be used as extraction target for Coq programs. However, it is possible to use Coq to write verified C software. On example is the Verified Software Toolchain that lets you translate C programs to a format that Coq understands and can prove theorems regarding their behavior.
1 1
Arthur Besse lemmy (AP)

This video is full of jarring edits which initially made me wonder if someone had cut out words or phrases to create an abbreviated version. But, then I realized there are way too many of them to have been done manually. I checked the full original video and from the few edits i manually checked it seems like it is just inconsequential pauses etc that were removed: for instance, when Linus says "the other side of that picture" in the original there is an extra "p" sound which is removed here.

Yet another irritating and unnecessary application of neural networks, I guess.

18 1
secret300 lemmy (AP)
What exactly makes rust memory safe? That's the big selling point of it right? Is the compiler just more strict?
1

This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.