280
submitted 4 months ago* (last edited 4 months ago) by pnutzh4x0r@lemmy.ndlug.org to c/linux@lemmy.ml

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: Keynote: Linus Torvalds in Conversation with Dirk Hohndel

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

top 50 comments
sorted by: hot top controversial new old
[-] kbal@fedia.io 477 points 4 months ago

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.

[-] gomp@lemmy.ml 79 points 4 months ago

I took notes for the benefit of anyone who doesn’t like their info in video form.

I love you.

[-] pnutzh4x0r@lemmy.ndlug.org 66 points 4 months ago

This is a great summary. Thanks!

[-] solrize@lemmy.world 43 points 4 months ago

C, C-like, or Rust

As always, Ada gets no respect.

[-] gerdesj@lemmy.ml 20 points 4 months ago

Start the linuxa or alinux project and off you trot. Find a better name than I did here and you'll be fine.

[-] Tlaloc_Temporal@lemmy.ca 8 points 4 months ago

Ladux? Linda? +Linux, pronounced "Add a Linux" -> Ada Linux? LinLace?

[-] Archer@lemmy.world 9 points 4 months ago
[-] nilloc@discuss.tchncs.de 5 points 4 months ago* (last edited 4 months ago)

Images of smoking Eastern European jalopy intensifies.

load more comments (1 replies)
[-] Threeme2189@lemm.ee 3 points 4 months ago

Anixa for the win

[-] nyan@sh.itjust.works 5 points 4 months ago

Nor does Forth (which used to be a common choice for "first thing to bootstrap on this new chip architecture we have no real OS for yet"). Alas, they're just not popular languages these days.

load more comments (1 replies)
[-] I_Miss_Daniel@lemmy.world 3 points 4 months ago* (last edited 4 months ago)
[-] Brosplosion@lemm.ee 3 points 4 months ago

Have you actually ever used Ada? It's like programming with handcuffs on.

load more comments (1 replies)
load more comments (2 replies)
[-] Rozauhtuno 35 points 4 months ago

Good human.

[-] GenderNeutralBro@lemmy.sdf.org 31 points 4 months ago

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. https://www.redox-os.org/

[-] gwilikers@lemmy.ml 22 points 4 months ago

On a tangential note, what does Linus used, Vi or Emacs?

[-] AusatKeyboardPremi@lemmy.world 21 points 4 months ago

He uses a version of Emacs called MicroEmacs.

I recall seeing his MicroEmacs configuration a while back when I was exploring options to start using Emacs.

[-] Brewchin@lemmy.world 6 points 4 months ago

TIL that version appears to be on the AUR: MicroEMACS/PK 4.0.15 customized by Linus Torvalds.

Last updated in 2014, it probably has serious cobwebs now. Even the upstream hasn't been touched in 6 years.

[-] thingsiplay@beehaw.org 4 points 4 months ago

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.

[-] baseless_discourse@mander.xyz 3 points 4 months ago

my money is on vi or vi derivates.

[-] JetpackJackson@feddit.org 22 points 4 months ago

Thank you for the summary!

[-] Vincent@feddit.nl 22 points 4 months ago

Doing the lord's work, thank you.

[-] m4m4m4m4@lemmy.world 22 points 4 months ago

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

Not a programmer whatsoever but I've heard about Zig and people comparing it to Rust, what's the deal with it?

[-] khorovodoved@lemm.ee 32 points 4 months ago* (last edited 4 months ago)

Zig is indeed designed specifically for such tasks as system programming and interoperability with C code. However it is not yet ready for production usage as necessary infrastructure is not yet done and each new version introduces breaking changes. Developers recomend waiting version 1.0 before using it in any serious project.

[-] PushButton@lemmy.world 25 points 4 months ago

Zig is "c", but modern and safe.

The big selling points compared to Rust are:

  • A better syntax
  • No hidden control flow
  • No hidden memory allocation
  • Really great interop with C (it's almost as if you just include the C code as you would in a C code base...)
  • Fast compile time
  • it's more readable
  • it's simpler to learn

The syntax is really close to the C language; any C programmer can pick up Zig really fast.

IMO Zig is a far better choice to go in the kernel than Rust.

Linux has tried to include CPP in it, and it failed.

So imagine if trying to fit in a C-like cousin failed, how far they are to fit an alien language like Rust...

For more information: https://ziglang.org/learn/why_zig_rust_d_cpp/

[-] Giooschi@lemmy.world 21 points 4 months ago

Zig is "c", but modern and safe.

Zig is safer than C, but not on a level that is comparable to Rust, so it lacks its biggest selling point. Unfortunately just being a more modern language is not enough to sell it.

So imagine if trying to fit in a C-like cousin failed

C++ was not added to Linux because Linus Torvalds thought it was an horrible language, not because it was not possible to integrate in the kernel.

[-] khorovodoved@lemm.ee 6 points 4 months ago* (last edited 4 months ago)

Zig has other selling points, that are arguably more suitable for system programming. Rust's obsession with safety (which is still not absolute even in rust) is not the only thing to consider.

load more comments (1 replies)
[-] teolan@lemmy.world 13 points 4 months ago

Zig is a very new and immature language. It won't be kernel-ready for at l'East another 10 years.

a better syntax

That's pretty suggestive. Rust syntax is pretty good. Postfix try is just better for example.

Zig also uses special syntax for things like error and nullability instead of having them just be enums, making the language more complex and less flexible for no benefit.

Syntax is also not everything. Rust has extremely good error messages. Going through Zig's learning documentation, half the error messages are unreadable because I have to scroll to see the actual error and data because it's on the same line as the absolute path as the file were the error comes from

No hidden memory allocation

That's a library design question, not a language question. Rust for Linux uses its own data collections that don't perform hidden memory allocations instead of the ones from the standard library.

it's more readable

I don't know, Rust is one of the most readablelangueage for me.

Fast compile time

Is it still the case once you have a very large project and make use of comptime?

it's simpler to learn

Not true. Because it doesn't have the guardrails that rust has, you must build a mental model of where the guardrails should be so you don't make mistakes. Arguably this is something that C maintainers already know how to do, but it's also not something they do flawlessly from just looking at the bugs that regularly need to be fixed.

Being able to write code faster does not equate being able to write correct code faster.

Really great interop with C

Yes, because it's basically C with some syntax sugar. Rust is a Generational change.

[-] lord_ryvan@ttrpg.network 4 points 4 months ago

Linux has tried to include CPP in it, and it failed.

So imagine if trying to fit in a C-like cousin failed, how far they are to fit an alien language like Rust...

But that wasn't about the syntax, but about the fastnesses, size and control, want it? Things that shouldn't be much of an issue to Rust.

[-] theshatterstone54@feddit.uk 16 points 4 months ago

Zig is feasible for systems programming and some, (most notably, the Primeagen in one video) claim it should have gone into the kernel instead of Rust, but I don't know Zig so I don't feel qualified to comment beyond that.

[-] MonkderVierte@lemmy.ml 10 points 4 months ago

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.

[-] CeeBee_Eh@lemmy.world 3 points 4 months ago

I think Linus mentioned Redox directly during the interview

load more comments (2 replies)
[-] pastermil@sh.itjust.works 7 points 4 months ago
[-] EveryMuffinIsNowEncrypted 5 points 4 months ago* (last edited 4 months ago)

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

[-] Psyhackological@lemmy.ml 5 points 4 months ago

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

[-] HeartyOfGlass@lemm.ee 4 points 4 months ago

Thank you for the write-up!!

load more comments (1 replies)
[-] thingsiplay@beehaw.org 45 points 4 months ago

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.

[-] GravitySpoiled@lemmy.ml 43 points 4 months ago

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

[-] blackbrook@mander.xyz 32 points 4 months ago

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.

[-] GravitySpoiled@lemmy.ml 5 points 4 months ago
[-] Vincent@feddit.nl 3 points 4 months ago

This summary seemed pretty good though.

[-] ReversalHatchery@beehaw.org 5 points 4 months ago

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

[-] ProgrammingSocks@pawb.social 23 points 4 months ago

Rust is harder to write but infinitely safer, and equivalent in speed.

[-] SparrowRanjitScaur@lemmy.world 4 points 4 months ago

YouTube has a transcribe feature you could use. Or you could keep scrolling if this content isn't relevant to you.

[-] mac@lemm.ee 4 points 4 months ago* (last edited 4 months ago)

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.
[-] cypherpunks@lemmy.ml 27 points 4 months ago

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.

[-] Mexigore@lemmy.world 3 points 4 months ago

I don't think its completely unnecessary, it helps save some time

[-] markstos@lemmy.world 4 points 4 months ago

Spoken like a wise elder!

load more comments
view more: next ›
this post was submitted on 18 Sep 2024
280 points (100.0% liked)

Linux

49502 readers
1035 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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS