Linus Torvalds: Speaks on the Rust vs C Linux Divide

preview_player
Показать описание
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.

My Linux Cheat Sheet and 25 Page Checklist here:

Share this free tool and support Small YouTubers
(I made this tool to help creators)

Useful Links/Commands:

#opensource #linus #linux
Рекомендации по теме
Комментарии
Автор

Do you think there's a Rust and C Linux divide?

SavvyNik
Автор

Linus wins the "most pragmatic guy on earth" award for this year.

konberner
Автор

I think it's better to see C and Rust as tools to use rather than ideologies to get behind.

salthin
Автор

I just like the fact that function signatures are implicitly documented by their type signatures and that standardized documentation can be generated directly from the code.

Interopting with system calls today feels like stone age programming. Why is it acceptable to need to read through a friggen text file you're not even 100% sure relates to the function you're calling to understand what it means when you pass a 0, 1, 2 or 3 to an ambiguously named parameter?

I realize that Rust isn't everyone's cup of tea but if you don't use it, for the love of god, document your public APIs excessively, unambiguously and don't make me leave my IDE to find it.

DavidAlsh
Автор

The more I hear about this, the more I think the real problem is about programmer culture. The ethos of Rust is that as much of the semantics as possible should be documented in the types, and as much of those semantics as possible should be enforced by the compiler. The ethos of c, particularly in the kernel, is that the semantics exist primarily in the project leader's understanding and then secondarily in human-readable documentation. The code should be as free as possible from semantics, so that the developers are as free as possible to do things the way they want, or to change things in the future without touching a lot of code. Rust wants all the knowledge explicit, and kernel c culture wants it all implicit. So where the Rust and the C codebases interface, there's a corresponding interface of cultures.

mrpocock
Автор

good and balanced take. also it's great that he recognizes that regardless of whether Linux adopts or rejects Rust, people will still want to use the language to build a kernel (or even an operating system).

kRyStLGaMeR
Автор

It's not just infrastructure. Rust is very opinionated about a lot of things.

e
Автор

Well, that settles it, then. For someone who wrote Linux and Git, to predict Rust will not be a failure is reason enough, I guess.

turanamo
Автор

Gonna wait until Prime reacts to this and forms my opinion for me

swannie
Автор

i like how linus is looking forward for a new os

mohamedaladwan
Автор

Wasn't one of the main "beef" between Rust and C developers the need for documentation ? That is, Rust guys trying to remake or add things that are already in C and they're totally undocumented and only have cryptic names and asking the C developers to tell them what's what and so on and the C developers getting defensive, believing their love child is being replaced under their eyes or something like that ?

That's hardly a Rust vs C problem, it's a "new devs" vs "old devs" problem. Probably just an "old devs" being too defensive problem, but I don't know the full details so I'm reserving judgement on who's to blame. Still, at face value .... and at deep value too, having the things documented should be done anyway.

Winnetou
Автор

Folks who only know Linus from angry kernel mailing list posts that get shared on social media think he's just an unreasonable a-hole, but he's actually quite reasonable and usually has pretty balanced takes on big issues like this (although he is still kind of an a-hole sometimes).

MonkeeSage
Автор

True bliss is understanding every language sucks for its' own reasons, and just using which one you like most. No need to be so fussy about preferences.

raspy_on_osu
Автор

The talk that caused the "explosion" in the Rust-for-Linux scene is a presentation about Rust bindings for file systems. And the backlash was that if you change something in the FS infrastructure, you break Rust and then you have to be a Rust expert as well, and the folks there didn't want that. And I think the way you introduce something like that is by bringing value. Infrastructure doesn't bring value, it enables value. Value in FS area is a kick-ass file system written in Rust. If you don't have that, why would you need FS Rust bindings? So you build your new shiny Rust FS, add bindings, maintain that for a few years out-of-tree, and then people would be keen on bringing your FS and the bindings into the kernel and start negotiating and bike-shedding over your Rust bindings. And finally you make it and those C zealots suddenly don't have a choice but to learn Rust.

urisimchoni
Автор

As a long time C dev, I blame the C devs as much as the Rust devs. Not all of them, of course, many work fine together. A lot of it is nothing more than tribalism. Devs pointing fingers at one side or the other, need to look in the mirror.

Cyco_Nix
Автор

The main problem is: please show me where there is a fundamental memory management issue in the linux kernel? Where? Because Rust in the kernel seems like a solution looking for a problem.

rosomak
Автор

"In your iphone" funny to assume theres ppl in that audience using iphones

DreadHalfling
Автор

No one wants to upset Rust developers.

smallbluemachine
Автор

The problem with Rust is the ideological bent of its die-hard users. I've seen how ideological activists can destroy a company, and the Rust community is showing all the signs of being that.

waynzignordics
Автор

I have worked with C programmers who thought the C++ stuff was overly complex and not helpful. It turned out their C code simply skipped basic things like error handling, null pointer checking, array bounds checking, handing of error codes, heap exhaustion, freeing memory, rolling back when something failed. Yes, your C code can be simple if it doesn't do any of the important, complicated things that it needs to. It sounds like a bit of this is happening with Rust support too except the language forces you to do it while C++ doesn't.

username