225
submitted 1 day ago* (last edited 11 hours ago) by [email protected] to c/[email protected]

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
[-] [email protected] 7 points 2 hours 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.

[-] [email protected] 3 points 12 hours ago

Spoken like a wise elder!

[-] [email protected] 411 points 1 day 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.

[-] [email protected] 28 points 20 hours ago

Good human.

[-] [email protected] 65 points 1 day ago

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

I love you.

[-] [email protected] 2 points 15 hours ago

Thank you for the write-up!!

[-] [email protected] 6 points 22 hours ago

vi versus emacs

You write "vi versus the world" funny.

[-] [email protected] 1 points 14 hours ago

I use Micro except for when I forget to install it and can't, at which point I use Nano

[-] [email protected] 8 points 1 day 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.

[-] [email protected] 2 points 10 hours ago

I think Linus mentioned Redox directly during the interview

[-] [email protected] 18 points 1 day ago

Doing the lord's work, thank you.

[-] [email protected] 56 points 1 day ago

This is a great summary. Thanks!

[-] [email protected] 19 points 1 day ago

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

[-] [email protected] 19 points 1 day 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.

[-] [email protected] 3 points 13 hours 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.

[-] [email protected] 3 points 22 hours ago

MicroEmacs

In testing, to settle a bet by a rabid cult-of-vi peer, I opened a given set of files in each editor, each a day apart because I couldn't be arsed to clear caches. This guy, otherwise a prince, was railing about emacs, but otherwise suffered days of waiting.

10/10 the memory usage by his precious vi was same-or-more than emacs.

There's so many shared libs pulled in by the shell that all the fuddy doomsaying about bloat is now just noise.

I avoid vi because even in 1992 it was crusty and wrong-headed. 30 years on the hard-headed cult and the app haven't changed.

I don't see how microEmacs can improve on what we have by default, and I worry that the more niche the product is the harder it will be to find answers online. But I'm willing to be swayed if anyone can pitch its virtues.

[-] [email protected] 3 points 16 hours ago

MicroEmacs was written in 1985 and has nothing to do with GNU Emacs (which people just call Emacs these days). It’s entirely outside of the vi-vs-emacs war.

[-] [email protected] 2 points 16 hours ago

Yeah the interface for it - and functionality - is more like nano than actual Emacs.

load more comments (2 replies)
[-] [email protected] 37 points 1 day ago

C, C-like, or Rust

As always, Ada gets no respect.

[-] [email protected] 2 points 21 hours ago

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

[-] [email protected] 2 points 22 hours 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 (7 replies)
[-] [email protected] 27 points 1 day 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/

[-] [email protected] 18 points 1 day ago

Thank you for the summary!

load more comments (15 replies)
[-] [email protected] 38 points 1 day 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.

load more comments (6 replies)
[-] [email protected] 1 points 19 hours ago

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.

[-] [email protected] 2 points 10 hours ago
[-] [email protected] 1 points 3 hours ago* (last edited 3 hours ago)

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.

[-] [email protected] 1 points 29 minutes ago

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.

[-] [email protected] 34 points 1 day 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

[-] [email protected] 1 points 18 hours ago* (last edited 18 hours 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.
[-] [email protected] 28 points 1 day 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.

[-] [email protected] 5 points 1 day 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

load more comments (2 replies)
load more comments (16 replies)
load more comments
view more: next ›
this post was submitted on 18 Sep 2024
225 points (97.1% liked)

Linux

47345 readers
1177 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