Someone should write a C compiler in Rust and a Rust compiler in C, and compile the compilers on one another.
@stanimir41974 ай бұрын
you can write a C and Rust compilers in Java, that won't do much - it reads bytes and produces bytes
@Nootlink4 ай бұрын
Fun fact, there already is
@TheHermitProcess4 ай бұрын
Wait till you hear about bootstrapping.
@rogerxxxxxxx4 ай бұрын
Sounds screwy to me. Somebody is bound to loose a nut.
@robertheinrich29943 ай бұрын
@@Nootlink and if it is used to compile code for p-hub, even rule 34 is satisfied? ;-)
@salthin4 ай бұрын
I think it's better to see C and Rust as tools to use rather than ideologies to get behind.
@ClimateChangeDoesntBargain4 ай бұрын
what ideologies are you talking about?
@whentheyD4 ай бұрын
C... and Rust@@ClimateChangeDoesntBargain
@craigcraig62484 ай бұрын
There is a practicality to choosing one over another. Correct programs can be written in C, but this is engineering, we must prepare for human error. This is not ideology, this is being practical.
@nosotrosloslobosestamosreg41154 ай бұрын
Sadly these are not times in which Reason is heard.
@dixztube4 ай бұрын
Zig !
@konberner1704 ай бұрын
Linus wins the "most pragmatic guy on earth" award for this year.
@rosomak82444 ай бұрын
It is not pragmatism to add the burden of multiple languages in a single software system. It doesn't come free.
@defeqel65374 ай бұрын
@@rosomak8244 Indeed. Rust is not an incremental change to developer habits, it's a revolution (in good and bad), and that rarely meshes well with existing structures
@konberner1704 ай бұрын
@@rosomak8244 I'm talking about his attitude in general. Like, hey, whatever works...
@rosomak82444 ай бұрын
@@defeqel6537 They promise quite a lot of things. However if only someone bothered to invest in to the #pragma stuff... plenty of those additional assurances could be managed without inventing a whole new syntax.
@_TheDudeAbides_4 ай бұрын
@@ismbks He was. He considered C++ programmers shitty, and because of that he prefers to keep C++ out of it. That is also a pragmatic view.
@whythosenames3 ай бұрын
"Should we have a poll here in the room?", "no."
@SavvyNik3 ай бұрын
🤣
@gingerboy91703 ай бұрын
Yea, and there is no reaction from the anchor guy😅
@pookachu646 сағат бұрын
Correct response
@gokuldastvm3 ай бұрын
Unbelievable how much Torvalds changed from his younger days. He has mellowed down a lot and is very pleasant and diplomatic now.
@berarma3 ай бұрын
He's been always like this, you just don't put garbage into his inbox.
@gokuldastvm3 ай бұрын
@@berarma I remember his very public (and very justified, IMO) F..U to Nvidia. After his sabbatical though, he recollected the event and refused to make any more such controversial statements in public. His tone in the lists is also much milder these days. I was expecting him to take one side and blast the other in the Rust integration issue. But he instead chose the diplomatic side - to not alienate either side!
@berarma3 ай бұрын
@@gokuldastvm you're taking one event in which Nvidia was giving him shit and generalizing. Watch more of his talks not just what YT throws at you.
@GabrielPettier3 ай бұрын
Heh when you realize how much better it is not to be angry all the time, i guess you start to look for more of that.
@gokuldastvm3 ай бұрын
@@berarma Bold of you to assume I don't watch anything else. Perhaps you need to watch all of them to understand what I mean.
@swannie15034 ай бұрын
Gonna wait until Prime reacts to this and forms my opinion for me
@SavvyNik4 ай бұрын
lol
@r2com6414 ай бұрын
Who cares about that clown except fools?
@Gwarzonicus4 ай бұрын
I would not go to Prime for something this low level.
@Tomab34 ай бұрын
🤣
@emhean4 ай бұрын
This is too low level, Prime is a high level idiot
@mrpocock4 ай бұрын
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.
@mrpocock4 ай бұрын
@@RenamedChannel Checked exceptions are a really nasty coder-experience. Unchecked exceptions are bugs by design. Rust's adoption of the error monad from Haskel and friends threads the needle for error handling, so we know they're being processed and where they came from, but the error-handling code is largely hidden behind the ? operator. It's a good compromise IMHO. Infinitely better than writing code that could fail at any time for reasons that aren't documented within the code you are looking at.
@billwixon71624 ай бұрын
Result is the opposite of exceptions. It's similar to Either in functional languages. It's interface is designed to be composable. Explicit error states are preferable to implicit exceptions
@mrpocock4 ай бұрын
@@RenamedChannel I don't know enough about allocators or locks to know why that's a problem or if or why Rust can't do it. Can you explain a bit?
@justanotheruser78434 ай бұрын
@@RenamedChannelwhat is the bump allocator with rollback mechanics? I really don't know and tried to google it with no result. I've implemented a bump allocator multiple times in rust with some difficulties, I must be frank. but it wasn't like too much of a trouble really so I wouldn't say something in lines of "rust cannot handle" when we are talking about that. not to mention numerous libs providing bump/arena allocators. but I'm really curious of that "rollback mechanics" bit. I beg you to tell me what it is
@blarghblargh4 ай бұрын
Rust has lots of stuff happening implicitly. Zig is much more explicit than Rust. I think Rust people often don't understand nearly as much as they think they do. They probably understand a lot, considering the complexity of pushing lifetime into the scope of generics, but I suspect a lot of them think they'll be able to avoid using unsafe contexts much more than will be useful and important in reality at the kernel level. And yeah, C is a mess for a lot of reasons. I just think RAII isn't nearly the panacea it's often seen as. You really don't want individual allocations and frees in high performance code. You want large homogeneous blocks of memory you allocate in bulk, process in bulk, and free in bulk, and RAII is generally not oriented around that sort of allocation pattern.
@kRySt4LGaMeR4 ай бұрын
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).
@PiotrPavel4 ай бұрын
redoxOS!
@mrsearaphim40774 ай бұрын
People just get way too emotionally involved with the things they work on and that's the problem. It prevents healthy debates that can improve both sides of the table.
@Leonhart_934 ай бұрын
Too balanced of a take. Saying something without saying anything. Stay in the middle of the road and you might get hit by a truck.
@blarghblargh4 ай бұрын
@@Leonhart_93prove to me you're capable of developing at the level of decade long kernel maintainers and not some naive kid who thinks rust is a magic silver bullet, and we might take you seriously. Hint: it's on you to catch up, not on current kernel maintainers to stop the world so you can hop on. ("You" being the obnoxious Rustacians who think they don't own at least half of this problem. Maybe not actually you)
@khai96x4 ай бұрын
@@PiotrPavel Does Redox have a linux compatibility layer? (can it run Linux binaries?) People aren't going to rebuilding everything for a new architecture. So I think it's necessary to increase adoption and usability, I've heard that some BSD flavors are compatible with Linux binaries.
@asdfghyter3 ай бұрын
it feels so unexpected to see Linus being the calm diplomatic voice after having seen all those very much neither rants
@orkhepaj3 ай бұрын
what rants? imho you are just a pussy
@andreas79443 ай бұрын
He failed to provide guidance for the community. Everybody thinks they can influence if rust is the future in the kernel or not. I would prefer if Linus simply says if it is a fix point of the roadmap or not. A clear vision is needed so people can figure out how to work together towards a common goal. Currently it is really one big mess. And the community is loosing more and more devs. Linus really needs to set the guiderails - or it will only get worse.
@fanciestbanana46533 ай бұрын
@@andreas7944 It's not his job to babysit people. He already has his hands full with kernel development.
@asdfghyter3 ай бұрын
@@andreas7944 there's a limit to how diplomatic he can be before people start suspecting that he's been replaced by an impostor 😆
@andreas79443 ай бұрын
@@fanciestbanana4653 Dude, that is exactly what his job is. He is the top dog. Nobody is above him. He is the only one that can make that statement. And he already did similar statements in the past. It really is the leadership 101 to do that.
@Vincent-hx1ql2 ай бұрын
I have seen many Chinese programmers called Rust "The Genshin Impact of programming languages". It's basically saying Rust programmers are really obnoxious because they will show up unpromptly and start going off about how Rust is superior whenever somebody talk about other languages, like how Genshin players (mostly the ones in China) will claim Genshin is better when people talk about other games.
@RustIsWinning2 ай бұрын
They also call the us dogs so... your point is?
@SunPodder26 күн бұрын
@@RustIsWinningboth seems correct to me
@RustIsWinning26 күн бұрын
@@SunPodder NOO !! 😠
@Takatou__Yogiri15 күн бұрын
they are also going hard on rust + GI. like AAGL launcher( for linux GI gaming ) is created using rust and there are a lot of Chinese people on discord.
@KirinDave3 ай бұрын
It's kinda amazing how much better of a leader Linus is these days. Before, he would have found a way to turn this conversation into a disaster. Now, he makes it look like an opportunity. Nice to see everyone can grow.
@jw816029 күн бұрын
He has stabilized his kernel. 😋
@MonkeeSage4 ай бұрын
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).
@defeqel65374 ай бұрын
his level of a-holiness... seems proportional to his expectations of people, he seems nice when he doesn't expect much of you
@Sammi844 ай бұрын
@@defeqel6537 And proportional to how much these people he has high expectations of let him down.
@Henry-sv3wv4 ай бұрын
@@Sammi84 elon musk just fires people that let him down
@kaasbaas95323 ай бұрын
@@Henry-sv3wv he can't so he has to REEEEEEEEEEEEEEEEE in mailing
@ShaferHart3 ай бұрын
being direct: being an a hole these days. He needs to keep zealots at bay and that's what happens.
@yewo.m4 ай бұрын
That was quite diplomatic
@dmitripogosian50844 ай бұрын
He has 30 years of experience of managing people
@Daniel-bf9rn4 ай бұрын
Linus has become a politician
@kozlovskyi4 ай бұрын
Old Linus was more "straight to the point" guy
@fizipcfx4 ай бұрын
i think it can be expected. He can be civil and reasonable most of the time. But if you read the linux mailing lists of torvalds it may seem like that guy just cusses and swears at people for no reason. I think it always is quite justified.
@comradepeter874 ай бұрын
So whenever he's not being rash he's not being truthful? Nothing he said felt like diplomacy or playing both sides to me. He's just being pragmatic. Ffs are people now *expecting* toxicity lmfao
@andrewgreen19703 ай бұрын
@ 3:38 - "I think it's, actually, one of the strengths we have in the kernel - that we can specialize. Some people care about drivers, and very specific drivers, and that some people care about specific architectures, and some people like file systems. And that's how it should be."
@Winnetou174 ай бұрын
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.
@barrykp4 ай бұрын
The issue I saw was couched as a request for documentation (maybe it's a requirement for rust?), but the hostile response was, as far as I can tell, because internal interfaces in the kernel are not stable and the norm is that when you change/break an interface, you update everyone else's code that was using it. Now if you're a C programmer and there's a rust copy of your C interface somewhere, it may be your responsibility to go fixing a bunch of rust code cause you changed something. And that's what made that file system guy in the video lose his shit.
@AllanSavolainen4 ай бұрын
I think there is two issues, the lack of documention is one, but the real problem is that the Rust people are asking the C devs to create said documentation. Which is a problem in opensource development, you basicly never should demand other developers to do stuff for you, you have the source, do it yourself. It would be better for he C devs too to have said documentation, but they don't need to have it and prefer to use their time to develop new things. Second issue is the speed of change, Rust is wanting too much or too many changes or too much work from the C side. If you have worked on piece of code for decades and suddenly an outside force wants you to change how you work and it isn't immediately obvious how it will benefit you, it can be jarring. And people generally hate change. And as a spice, it doesn't help that there is also this vi/emacs, or PC/Amiga divide between C and Rust and both sides have plenty of vocal people publicly despising the other. Give it 5 more years and maybe we have more mature interoperability in the kernel, and some documentation etc.
@CallousCoder4 ай бұрын
@@AllanSavolainenindeed what was also my take away from that row. And the Rust people shouldn’t want to rewrite stuff and pull over the whole system so they can develop easier or faster. This is a bloody kernel not a programming language . This runs on almost a billion devices, you need to make minimal well calculated and testable incremental changes as to not cause massive compatibility or stability problems. It seems the Rust boys are not very exposed to critical system development yet.
@neko68034 ай бұрын
i would go a step further and would claim that its a problem of developers being potentially unable to give the documentation because they themselves no longer know what their own code does. The lack of a need for documentation probably means those people never wrote any and now they CANT give a documentation because they have no idea what their own code is doing
@neko68034 ай бұрын
@@AllanSavolainen well yes but the way you wrote it is misleading: the Rust-Bindings (which are written in C) as in the place where the rust code hooks into the C-Code dont have proper documentation. The Rust people cant write proper code if they have no idea what function expects which values as a response from the rustcode and what values are potentially assigned to special purposes on the C-Side. And the C-Devs are unwilling or much more likely frankly unable to give that information (because they themselves do not have it because they forgot because they have no documentation on it). And i side with the Rustpeople here saying "you wrote the code, so please include a documentation of your code that i can work with to write my code." Its fine to have no documentation if it is a small project and if you are the only one working on it. But if you write code together with others, this type of Documentation is mandatory, because by the time you get back to your code from developing new things you yourself have no idea anymore what the f your 1s and 0s are doing. Documentation is especially important if its a project where someone else is expected to come at any time and try to make a suggestion how to make the code better or if you might drop the maintainership and someone else wants to pick up the maintainership instead. You cant do that without documentation.
@10e9994 ай бұрын
It's not just infrastructure. Rust is very opinionated about a lot of things.
@Lambda_Ovine4 ай бұрын
so it's C, it's just that we're far more used to it so we take it for granted
@musiqtee4 ай бұрын
Programming languages are “opinionated”…? Surely, _users_ of them have opinions - or I’m just missing something about high levels of abstraction…😅
@10e9994 ай бұрын
@@musiqtee e.g. the borrow checker is an opinionated way of providing memory safety. It force the program to be architected in a certain way. It's not necessarily a bad thing. But it is opinniated.
@musiqtee4 ай бұрын
@@10e999 That’s absolutely right… However I understood the conversation (the video, Thorvalds) to be about the ongoing kernel dispute (opinions) - therefore also the OP’s comment. Guess I’m just not “high level” enough… 😅👍 That said, “aggressive” kernel level memory management seems (to me) to be a good way forward? The last months have been pretty ripe with both mishaps and malicious exploits. The world (sic) is a little different these days…
@turolretar4 ай бұрын
What a donut fucking word - opinionated. I fuckin defy anyone to find one fuckin thing that isn’t “opinionated”. The only thing that isn’t opinionated is nothingness, but it’s also completely pointless. In other words - stop with this nonsense
@helmutmueller33263 ай бұрын
I like that he can talk about Linux to go away some day without emotion. Really important man indeed and not screaming around. Thanks a lot to him for his work. 👍😁
@Th3Nob28 күн бұрын
There are strange cuts in the video that are not really made obvious (e.g. 1:34) changing the content/context probably. 🤨
@turanamo4 ай бұрын
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.
@rosomak82444 ай бұрын
@@ytfeelslikenorthkorea I have seen too many fancy new programming languages come and go to buy in to that.
@nikolaikalashnikov42534 ай бұрын
WOOSH... Linus' statements went right over your head man... To interpret... ...He was basically saying (in a polite way) that if you truly believe in *_Rust,_* then go build your own *_Kernel._*
@TremereTT4 ай бұрын
@@ytfeelslikenorthkorea Rust is an odd one. There are people that actually use it in a non scientific field. But it's very surprising considering as a language it's more of an academic excercise to prove a single point, just like it is done with Haskel(Haxel, Hascle, Haxle...?) . "While Programming should be like Math (Haskel)". realy only caught on in Whitepapers. It has no real world effect. "Memorysafety should be absolute and enforced by the programming language (Rust)" . Rust managed to have smal real world effect. The Problem with Rust is that while it can be usefull. It's simply too hard and unelegant, making even simple problems into a difficult feat, so realy only extreme fanatic enthusiasts would use it. Rust might need some change that makes it as easy as other languages. I'm sure if that doesn't come, it's gone.
@turanamo4 ай бұрын
@@nikolaikalashnikov4253 really? 4:27 Linus "People have talked about the Rust integration being a failure. And I don't think a) we been doing this for a couple of years now, so it's way too early to say that but I also think, even if it were to become a failure, and *I don't think it will* that's how you learn." Which part of "I don't think it will" did you not follow?
@nikolaikalashnikov42534 ай бұрын
@@turanamo ...It's called "placating": *_Rust_* has a large audience of *_Snowflakes_* and he doesn't want to hurt your "FE-FEs": As this directly contradicts what he's said in the past.
@ryman14 ай бұрын
Is Linus morphing in to Saul Goodman?
@denisjovic20232 ай бұрын
It sucks that the video is permanently cut in mid-sentence. Makes me wonder what they really said 😮
@paulfalke62272 ай бұрын
Years ago, there was the monolith versus micro kernel discussion. Today there is a C versus Rust discussion. In my opinion black/white or right/wrong thinking does not help. Every solution has advantages and disadvantages. Depending on YOUR problem, some disadvantages are small, others big. Somebody with another problem sees your small disadvantage as his/her big disadvantage. Spoiler: you are both correct. It depends!
@complexity55454 ай бұрын
Just wrap all the Rust code with "unsafe."
@vasiovasio4 ай бұрын
😂😂😂
@RustIsWinning4 ай бұрын
Classic deluxe that people think we have to use unsafe everywhere 😂 Did you also count every line with that keyword? 🤡
@rosomak82444 ай бұрын
The fact that they used "unsafe" instead of "unrestricted" shows the delusions they have about the merits of those things.
@RustIsWinning4 ай бұрын
@@rosomak8244 Did you take your meds today? 🧓💊 Also you dropped this --> ♿️
@RustIsWinning4 ай бұрын
@@rosomak8244 The fact that you complain about a keyword is hilarious 😂
@Ibuprofen20114 ай бұрын
i like how linus is looking forward for a new os
@rosomak82444 ай бұрын
Plenty of clueless young people have decided already that there is time for a new OS. They went all nowhere. In esp. there have been plenty of unsuccessful attempts to actually use Rust for such endeavors.
@FFlow4 ай бұрын
@@rosomak8244 Linus himself was once that clueless young person that decided to write his own OS, so who knows. Maybe at least one person will get somewhere with a new OS.
@IIARROWS4 ай бұрын
@@FFlow Yes, in the 90s. The problem is that "clueless Linus" didn't decide to create a kernel because other kernels were written in a different language he didn't like.
@Gwarzonicus4 ай бұрын
@@IIARROWS lmao so on point
@-_James_-4 ай бұрын
@@IIARROWS Linus, in his typical "forward looking" manner decided he wanted a monolithic kernel based OS instead of the microkernel architecture of Minix (the OS Linux derived from). There's nothing particularly forward looking about Linux. Never has been, never will be.
@pieterverhoeven16423 ай бұрын
Forcing a maximalist language on a minimalist (ish) language userbase is bound to have these effects.
@kavehtehrani2 ай бұрын
I code in both Rust and C. Different tools for different jobs. I think keeping Linux to C is the right choice.
@eliasepg4 ай бұрын
I really like the way that Linus said about his view on the Rust vs C situation, very wise
@rosomak82444 ай бұрын
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.
@lolilollolilol77734 ай бұрын
I believe the idea was to use Rust for vendor modules. Forcing them to use a memory safe language reduced the risks when you add them in the kernel.
@username77634 ай бұрын
There have been a lot of different kernel bugs. By no means is the kernel code bug-free code. One thing that compile-time checking can do is catch some types of bugs before they get into the code. Who knows how many unfound bugs remain.
@JohnnySacc4 ай бұрын
Also rust offers much more than memory safety, the biggest one to me is maintainability as more of the program's invariants can be expressed directly in the source code as opposed to it being scattered around comments, docs and maintainers' brains. Rust is extremely explicit which can be a downside but in the linux kernel I think it will be a huge upside.
@stargazer76444 ай бұрын
There is a fundamental memory management problem in C. The kernel is mostly written in C.
@greasedweasel80874 ай бұрын
If I can throw my hat into the ring, memory management isn’t the issue here. Like yes it’s a nice guarantee, but Rust does a lot besides that in terms of general design. The borrow checker, for example, tracks the lifetimes of values and makes programming with pointers much nicer because references as a construct are literally just pointers but checked at compile-time to be valid. Rust lets you prove features of your code in ways that C does not, because you can express ideas about the flow of data to the compiler and it will ensure you’re doing what you’ve told it you want to, whereas in C it falls on the developer to ensure the program behaves correctly. I think that’s what the rust folks are on about tho
@GungaLaGunga4 ай бұрын
Rust? Oh man, corrosion is incidious and destructive. Get some WD-40!
@RustIsWinning4 ай бұрын
Stand-up comedian right here 😂
@VolkerGoller2 ай бұрын
They should have named ZIG WD-40 😳😂
@RustIsWinning2 ай бұрын
@@VolkerGoller Zigooners could never make it into the kernel lmao
@iceteazen2 ай бұрын
@@RustIsWinning becuase its a new thing, but i think zig could qualify but a fan of rust more than zig but i also enjoy zig.
@aftermath18862 ай бұрын
@@RustIsWinningI think zig has a long way to go
@ItsYumshotАй бұрын
I love this take, and completely understand why there would be alot of headaches, but hes passionate about his project. Its his. He wants greatness. Hes seen the downfalls first hand, and it makes sense that the people maintaining would have their own opinions about it especially when he describes not having a full understanding anymore. Its a massive codebase. Youll never have every avenue understood, thats why you have professionals to help you with the long standing knowledge of your own system as its progressed. I see it as positive even if people have to step away.
@Cyco_Nix4 ай бұрын
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.
@jacobitosuperstar4 ай бұрын
the DRM maintainer got shot down several times just for asking better documentation in the C bindings of the different interfaces that she has to use. As for what I have seen or experienced, the main issue stems from the lack of documentation in what each C call needs for everything to work without issues, and some of the main developers having issues with providing them, or outright denying it and attacking directly the rust implementations. So even though I do think that there is a bit of tribalism , some senior Kernel developers are putting up to much friction.
@anon_y_mousse4 ай бұрын
@@jacobitosuperstar And yet somehow the C developers who work on the kernel don't have a problem with that because for many C programs the code *is* the documentation. The real problem is that the Rustaceans can't read the documentation and want it translated, and all at the expense of the C kernel devs. Time is money after all.
@Cyco_Nix4 ай бұрын
@@jacobitosuperstar Yeah that isn't cool. There is no reason for that type of behavior.
@jacobitosuperstar4 ай бұрын
@@anon_y_mousse you are telling me that this things are not issues for new maintainers (even the ones that work with C) and that they don't complain too about this kind of behavior, and that if you are writing something like a driver, you should understand how everything works, even though Linus himself said that the C that they write is different C??... Holy fuck dude, I suck at my job then. Sorry mate, don't mind me, I hope one day I can stop being a waste of oxygen unlike yourself.
@pluto84044 ай бұрын
People are inherently adverse to change. They can suck it up and grow up.
@BudoReflex3 ай бұрын
I appreciate that he respects that many will feel and also do just as he did; go their own way! He doesn’t come across to me as even being diplomatic or conciliatory, rather he is referring to his own journey and knows that there will be those just like him who will create new things, even OSs with rust.
@DVRCАй бұрын
What if Modula-2 and Oberon were revived for systems programming, also for kernel modules?
@beartime97285 күн бұрын
0:22 “I’m afraid some other kernel will do to it what it did to Unix” Linux didn’t do anything to Unix? Unix was a proprietary system that couldn’t be widely used. It didn’t outcompete Unix because there wasn’t any competition with the open-source nature of Linux
@ViklasSvenske4 күн бұрын
Well, I think the market for commercial Unix dried up in large part because Linux and FreeBSD were free and freely available. Once they were mature enough, people switched because why pay large license fees when you don't have to?
@beartime97283 күн бұрын
@ViklasSvenske ahh that makes sense. Thanks
@WiseWeeabo4 ай бұрын
C26 could technically add some compiler-supported features to allow a lot of the same form of safety and checks if you want it (or when using certain types). It would for sure be an improvement.
@oserodal27024 ай бұрын
With the way most C production and enterprise software is stuck in C99 or C11, they should just add more breaking changes in future releases.
@ivanv7544 ай бұрын
Yes, I’m looking forward to using C26 in 2046.
@RustIsWinning4 ай бұрын
@@ivanv754The year is 2068 and C-cels finally proved that memory safety is indeed possible with a quantum computer just like they predicted.
@johndoe2-ns6tf4 ай бұрын
@@RustIsWinning how much code have you written in rust? let me guess: ZERO. How about in any other laguage? let me guess: also ZERO.
@RustIsWinning4 ай бұрын
@@johndoe2-ns6tf YT filtered out my legendary comment damn. Also it's a little bit more than zero but you are close.
@JSiuDev2 ай бұрын
Linus opinion was not about whatever programming language being used. It is about handling kernel exceptions, which is very important in production system.
@DavidAlsh4 ай бұрын
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.
@nohandleleftАй бұрын
You're quite the spoon fed whiny developer! If your IDE can't give you exactly what you want, when you want it, the rest of the world should step up and make it happen. You appear to have two problems: 1. You. 2. Your IDE. How many monitors do you have? How many virtual desktops? How many applications can you see at any given moment? Why do you lose context and get so upset if you have to look outside your IDE? Why can't you just trace those function parameters back to their definitions? Yeah, it's tedious, but so what, you still get paid right?! There are a dozen basic code analysis utilities you can use for this, some you can even plug right in to that monolithic inefficient IDE you seem to love so much. Imagine the hissy fit you'd throw if your boss asked you to look at some random Google API, or WhatsApp, or any of a dozen fortune 500 interfaces. You think the kernel is poorly documented!
@Onyx-it8gk4 ай бұрын
I'm all for memory safety and the benefits of Rust, but in practice this has been a disaster. I think the only thing that can solve this is to get a new generation of Linux kernel developers who aren't so hostile to Rust, and a new generation of Rust developers who aren't so evangelical and dogmatic.
@samjiman4 ай бұрын
Probably too many smug Rust developers who think they know better than C veterans. Honestly I think they should stick to making their own kernel. Some more competition would probably benefit everyone.
@mmstick4 ай бұрын
@@samjiman The vast majority of kernel developers want to use Rust. The only smug people are those in the comment sections making statements like yours.
@tablettablete1864 ай бұрын
@@samjimanHonestly, a Linux compatible kernel can be very good. And it already exists: Redox
@samjiman4 ай бұрын
@@mmstick Go play with your stockings. Rust is like a religion to you people.
@samjiman4 ай бұрын
@@mmstick D's the future.
@abhijit-sarkar2 ай бұрын
Rust: Thy promise to solve thou problems thou never hath
@CrackThrough4 ай бұрын
isn't the main problem of using Rust project ecosystem or management? you can't just replace the whole thing from C to Rust in a day because it takes time (given how big the project is), and there'll always be a state where C and Rust co-exist in the project. As a project manager or developer, you have to know both now and begin slowly migrating from C to Rust. That sounds like a nightmare to me... You also have to take account for submodules and other libraries since the whole design philosophy is different. APIs may change because of that. Dependency control would be even more complicated. Unless you're crazy or unthinkably skilled, it would be really difficult to pull off while making the project stable. I like to think it's simply not feasible and unrealistic, I don't know how others thinks though
@Freshbott24 ай бұрын
I don’t know or like Rust but I don’t see why the animosity turned out different to other languages. It’s normal that ecosystems and projects can have mixes of languages. Whenever there’s something new that’s a whole new paradigm or a shift in mindset the community doesn’t seem to question new adopters even if they don’t embrace it themselves. That was true of Java, Python, Swift etc. but none of those were suggested to replace C. I think the animosity has more to do with the C community and a sense of ownership of certain topics and an ironic claim of authenticity like a user is going to use a program and know it was written by a “real man” and that it’s the product of discipline rather than principle lol. All things start slow, and for a job like a Rust’s the start is slower. I’d expect it’ll do best in new things till the ecosystem is mature enough for Rust tools to replace C tools, not for C code to be swapped out for Rust code within existing C tools that already work. In principle Rust is the correct paradigm and if not for the C legacy and ecosystem, C would be the undeniably wrong tool for things that need to be secure or safe.
@CrackThrough4 ай бұрын
@Freshbott2 I think what you said makes sense. It seemed to me that elitism, in fact, does factor in it as I've lately seen it multiple times. but maybe that's not all. to be fair, something like a kernel that's being used in production, also known for its stability and security, may need to be considered and managed differently. it's true that we usually don't have a project like this. regardless of what language it's written in and which language it's being replaced to, it shouldn't affect the production environment and ecosystem until released. well, I mean on paper. like you said, it seems that's not how it's working right now 🫠 but on other projects, that could be the case. I'd like to think that there are a lot of mature developers in the linux community. surely, except for these few people, they know what they're doing. right?.. EDIT: holy heck I read it wrong you basically have the same idea lmao 😭 I shouldn't reply when I'm half asleep
@nicejungle3 ай бұрын
Kernel need to be stable. Therefore no experimental languages that change standards each version, like rust
@lindhe3 ай бұрын
I have only heard two good arguments against Rust in the kernel. One is that it's (allegedly) harder to find Rust programmers than C programmers, which I think is a solid argument as long as it holds true. Your argument is the other one. I love Rust, but before it can enter the kernel I believe it must have a proven track record of great, stable, maintenence over time.
@mikesilver2283Ай бұрын
YES. THANK YOU FOR COMMON SENSE.🙏
@bosonmeson4682Ай бұрын
Thanks for the session.
@istudy94 ай бұрын
Idk what these nerds talking about, but please keep the internet working
@YouthWaster12 күн бұрын
3:10 Shows how humble he is. What a great guy!
@rtwas4 ай бұрын
Rust: Yet another language. So in some number of years, some other group of yahoos will try to inject some other language into the code base (of our favorite code somewhere), touting its superiority (mainly because it's novel and they were bored or something) and denigrating C for being *evil* for one or more reasons. I knew a guy who was a language junky. The more varied and novel the better. He was very bright and was able to master many languages with ease. He thought very highly of himself for managing to integrate three separate languages into one project. I could only wince at the prospect of trying to maintain that code base. I pressed him for the reason for doing this,h e became upset for me even asking. For Linux, pick a language and *stick to it*. If you wanna convert Linux to some other language, please wait until I am dead. Thanks.
@RustIsWinning4 ай бұрын
Found a real C kernel dev lmao
@_TheDudeAbides_4 ай бұрын
rtwas: yet another pretend expert.
@viktorstojanovic90074 ай бұрын
so we should just continue using c forever even tho it's been outdated for years now
@RustIsWinning4 ай бұрын
@@viktorstojanovic9007 You know the best part about C? It's an incredible boring language. There is nothing that is fun to code because it's lacking cool features. Why on earth would I want to use a language that makes me fall asleep? No wonder C boomers like it so much. It helps them to go to bed LMAO 🤣
@rtwas4 ай бұрын
@@viktorstojanovic9007 Outdated? It (C) does *exactly* what it was designed to do. It does'nt need to be anything else. Saying C is outdated is like saying a fork and spoon are outdated. C is a lot like writing in assembly language, you need to understand the logical machine at an intimate level. It seems to me contemporary coders want logical resources abstracted. They just don't seem to want to work that hard. When you work close to the metal you can't get away with that. An OS like Linux works close to the metal. For a new OS project if you want some nice ideal, abstracted framework to play in, knock yourself out. Please leave my precious Linux be.
@kevinchadwick89933 ай бұрын
Ada Spark is a better choice for kernels and drivers. It would alao help with maintenance by being optimised for readability. I wouldn't be surprised if it would cause less friction with C too.
@RustIsWinning3 ай бұрын
Nobody likes Ada Sparkling Water. Womp womp 😂
@kevinchadwick89933 ай бұрын
@@RustIsWinning Most seem to wish they could use Ada at work including a Rust user. I replaced Go and C with Ada at a startup and couldn't be happier. Another user recently contrasted Rust with Ada. "I don't even understand my own rust code in the HTTP-server with 8 routes, after only 2 months of break from working on the project 😆"
@RustIsWinning3 ай бұрын
@@kevinchadwick8993 Cool. The world still did not choose Ada Sparkster even when two or three plebs at a mickey mouse club house startup really like the language. Nice story man 😂
@kevinchadwick89933 ай бұрын
@@RustIsWinning Rust and Bust
@tavishn4 ай бұрын
I was at this event which happened like 10 months ago, and this whole interview was a short conversation, but it's kind of funny seeing clippings from this same interview still being fodder for more content... I see videos on my feed still of people still talking about this.
@Redmanticore8 күн бұрын
1:27 - 1:59 "choose stem field, because technology is not emotional field, just logic and facts ", they said
@vranigavrani4 ай бұрын
So far what i have figured out is that more person spends time using 1 programing language it becomes like religion to them. Its just nature of the craft.
@xinhao6245Ай бұрын
For the Linux kernel, the Zig language is more suitable.
@username77634 ай бұрын
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.
@NinjaRunningWild4 ай бұрын
That's just down to bad programming. That's not the fault of the language.
@mmstick4 ай бұрын
@@NinjaRunningWild A language that allows you to write code badly and yet still compile is a fault of the language.
@user-baev4 ай бұрын
@@mmstickYou can't make this argument in C vs C++ discussion. C++ allows you to shoot himself in the leg at least in same capacity as C. If not more. And I think Rust is too weird of a language. Very opinionated and hard to grasp.
@experimentalcyborg4 ай бұрын
tbh imho C++ IS overly complex. With 40 years of backward compatibility, there are a hundred different ways to do something with only one "correct" way that changes almost every major revision. Nearly everything can be overloaded, macro'd or templated, so many code bases are basically their own language. It's absolutely maddening. And that's not even touching on the 1980's tool chain, dependency management is a total nightmare. ... and then there's cmake... which is a horror story of its own... the docs are simultaneously verbose and useless... i can't blame anyone for sticking to C even in 2024 lmfao.
@mmstick4 ай бұрын
@@user-baev I've worked with high school students that had no prior programming experience. Anyone can learn Rust. It's easier than C and C++.
@user_375a822 ай бұрын
It seems that so many programming systems get more complicated as time goes on (except c) - even Python has so many additions now that I can hardly use it anymore. Or HTML is now a mega large mix of CSS, JavaScript and much much more that I can't write a web site now. I think I'll just ask AI to do it for me.
@DavisTibbz4 ай бұрын
Rust Foundation leadership is just more concerned about political movt than maintaining their language
@sharp5313 ай бұрын
Seems like many linux/language devs have this problem. If Gnome is half as disfuntional as is rumored there is problems.
@drxym4 күн бұрын
The thing about Rust for anyone who has used it - It Is a Good Thing. The compiler kicks your ass for unsafe programming habits, things that C doesn't care about. And it makes code that works as well as C. In fact in some cases the code works *better* than C because you're not scared of doing something asynchronously, or firing up threads because the compiler has your back. Rust is also very good at training developers to write safe code, that also makes them better C & C++ programmers too, since they unlearn some of the bad habits they got away with previously. So I would say to anybody who programs in C or C++ - learn Rust. Aside from writing better code, it's WAY easier to build stuff because it has proper cross compiler & package support built into the tools.
@SuedwestlichtMusic4 ай бұрын
"fatal error: your Rust environment is older than 2 weeks" That's what I am afraid of if a generation takes over that doesn't care about backwards compatibility.
@RustIsWinning4 ай бұрын
Dont care. The future is now 0ldmann.
@guest73294 ай бұрын
yes, it has frequent updates, but code from 1.0 still compiles fine
@johndoe2-ns6tf3 ай бұрын
@@RustIsWinning well, your future is as bright and interesting as watching paint dry.
@RustIsWinning3 ай бұрын
@@johndoe2-ns6tf John Doe the ho3 stay mad as always 😂
@johndoe2-ns6tf3 ай бұрын
@@RustIsWinning don't worry. i'm sure with all the crack and meth you're taking, watching pain dry will be very exciting. LOL. Ups, sorry, crack and meth are boomer drugs, right? So, I guess, it's tranq and flakka for you.
@AndrewKelley4 ай бұрын
thank you for the editing
@p07a3 ай бұрын
I noticed that too. It’s very pleasant, like someone edited a piece of written document and made it flow very well.
@JLT91504 ай бұрын
I'd trust Rust code to be secure more than I'd trust C code to be secure. Rust is like having guardrails for writing code. It does abstract quite a lot and is not always secure even when not using unsafe. C demands you do it all yourself, grow and maintain deep understanding, maintain strict discipline. I'd trust a C developer more when it comes to debating secure code over a Rust developer.
@Archimedes.50004 ай бұрын
lmao
@Sever3dHead4 ай бұрын
lmao
@lorili68854 ай бұрын
I would disagree. A rust programmer won't be able to even compile their code without understanding all of the memory safety things. C programmer can build a working system without giving a **** about safety
@Sever3dHead4 ай бұрын
@@lorili6885 more like borrow checker, as there is perpectly memory safe code that borrow checker does not allow
@Finkelfunk4 ай бұрын
The issue you have is that not everything in an operating system _can_ be done safely. Sometimes, you just HAVE to do unsafe operations and weird conversions in an operating system. Take the boot sector for example: You have to load the kernel _somehow._ All of this is done with raw, unsafe pointers. There are systems that just can't function in a safe way, a lot of what is done there is, by default, unsafe code. That is just how things have to work. You can't have 100% safety in an operating system. By default, this is just not possible. Couple that with the error handling Rust does. Rust isn't bothered by an application crashing with a panic. But the Kernel doesn't allow panics. You have to either handle the error explicitly and "catch" the system, or you discard it and hope it won't cause a crash. An exception will cause the whole system to become unresponsive and worst case kill the error reporting mechanisms. A graceful failure won't. And Rust isn't designed for this undefined territory because the borrow checker can't work with uncertainty. But the Kernel works like this. These are the architectural design patterns they were talking about. Rust makes this infinitely harder if you don't use "unsafe" and if you do, there is no point to using Rust just for the sake of it. Rust boys just need to accept that this is the reality of any operating system kernel.
@75hilmar2 ай бұрын
I don't know it for sure, but this is my impression over and over: Linus seems like a prophet if some sort to the Linux crowd and I think that has a reason. They seemed to have made Linux their utopia and he is just talking common sense, infra and market necessities. That's why he comes across like some messenger from the outside. Because they excluded the outside from their linux utopia. This is not to bash anyone. People build their own perfect world everywhere all the time. Just one point to think about.
@turolretar4 ай бұрын
What the hell, why is this sudden need in safety, I thought memory related bugs indicated skill issues of developers not the shortcomings of a language. What it more looks like is Rust foundation just wants a piece of that pie
@lolilollolilol77734 ай бұрын
You thought wrong. C is a powerful but also a terrible language, everyone agrees about this.
@DanCojocaru20004 ай бұрын
It's both. Someone with an equal level of skill will make more mistakes writing C than Rust.
@RustIsWinning4 ай бұрын
Machines will always be better.
@p394834 ай бұрын
@@DanCojocaru2000😂Because the C devs will make more software.
@RustIsWinning4 ай бұрын
@@p39483Comedian. C devs wont write any code anymore because they will be in their retirement home LOL 😂
@ufi95402 ай бұрын
Rust just to explicitly mark whole kernel codebase as unsafe code?
@RustIsWinning2 ай бұрын
Another misconception. Drivers would use 0 unsafe code.
@gabrielbarrantes69464 ай бұрын
Honestly, would be great to see another alternative. A new kernel written in rust would be great to promote competition
@jylpah4 ай бұрын
And then the user space libraries, and then the applications. 😉 But seriously, it’s completely feasible. It just needs to start from somewhere. Embedded world is always so fragmented due to the HW, but maybe a RustOS would provide a platform to run (Rust) cloud applications securely and with high performance. Then over time it could be applicable to more use cases. Such a change is completely possible but it needs to start somewhere and start gaining steam. It’s hard to challenge the dominant platform, but never impossible.
@gabrielbarrantes69464 ай бұрын
@@jylpah I think that with enough motivation it can be done, and certainly the rust community seems motivated to prove their side is better 😂
@FireCrack4 ай бұрын
I think that's what RedoxOS is trying to do
@therealjezzyc62094 ай бұрын
it already exists... yet no one uses it, because that's just not how that industry works, there wouldn't be any competition without adoption, and no one is going to switch to an OS that isn't Windows or Mac unless they're possibly already using Linux. Linux isn't a product that is competing with other operating systems as a product, so your idea is nonesense on that basis anyways.
@gabrielbarrantes69464 ай бұрын
@@therealjezzyc6209 does it? So why is people pushing so hard for rust in Linux?
@2002budokan4 күн бұрын
Fil C is the right way to make C safe as Rust. The secret is to change the compiler not the language (at least not much). Well forbid null, forbid union that's all you need. Then compile it with a compiler that doesn't allow unsafe code to compile. In fact Rust is not especially a safe language, it is an ordinary language, but it's compilation rules are safe. Rust compiler simply does not allow you compile unsafe code. So first make C compiler safe, and if you want to change C language a bit, add generics to it, this would be a positive and backward compatible addition
@friedrichdergroe96644 ай бұрын
Let's put Haskell in the kernel! Seriously, C has been doing the job for decades. I don't see a real advantage to start stuffing Rust in the kernel at all. There is a lot of C kernel experience, it is well-understood, it is battle-tested, and no surprises. What do we really gain from Rust to make it worth the herculean effort to stuff it into the kernel? Not seeing it. C++ is not accepted into the kernel either, though it would be potentially a better fit than Rust. Maybe I am too conservative, but if it ain´t broke, why fix it? Stay with C.
@secretzpt1763 ай бұрын
"it is well-understood", have you not been following this situation? The C devs got mad because they didn't want to document code that had things like hidden lifetime requirements...
@scanex2 ай бұрын
Would have been much more interesting to get LT's view of the future of micro kernel OS. Redox that is mentioned is a micro kernel OS.
@justdoityourself71344 ай бұрын
Linus spiting facts, C is memory safe when it is needed to be so. It is easily extended with architecture and enforced conventions. Rustbros out here pretending that all c code is raw dogging memory.
@viktorstojanovic90074 ай бұрын
linus did not say that, he stay on the fence
@justdoityourself71344 ай бұрын
@@viktorstojanovic9007 lol watch it again he literally does.
@secretzpt1763 ай бұрын
@@justdoityourself7134 He quite literally doesn't.
@rsgilbert61524 ай бұрын
That last part was really good and inspiring
@_Love_And_Peace3 ай бұрын
imo, those who wish to completely seize the hardware, prefer C, and those who regard the OS as an upper structure over the hardware prefer RUST. They are 2 distinctively different groups of people. So, there is a divide, and I am quite happy Linus wrote the kernel in C.
@antonliakhovitch830621 күн бұрын
Not sure that's true. Rust doesn't do anything to prevent you from "completely seizing the hardware" -- in fact, it's a necessary requirement for a systems programming language and it's why we don't see Go or Java or Python in OS kernels.
@achrefnasri88474 ай бұрын
It's hard to mix C and Rust codebases. As much as I love Rust, it shouldn't be shoehorned into an existing project like the Linux kernel. Don't get me wrong, memory safety is an important issue, but it's not THE issue for Linux kernel developers (You don't create the most widely used codebase in the world by recklessly using unsafe C code) If Rust developers want to be fully integrated into kernel development, they should build their own kernel based on Rust and prove its worth in practice....because talk is cheap
@einargs4 ай бұрын
They have built their own kernel in rust and proved the usefulness. Several times in fact.
@johnnemeth69132 ай бұрын
The difference with the vi vs Emacs debate is that your choice doesn't affect others.
@k1m14 ай бұрын
Ok he hired a diplomatic coach or read a lot of diplomatic books
@zezba90004 ай бұрын
Linux needs a driver kit then it wouldn't have any of these issues and you could write in any language without having to conform to anyone's standard outside the driver kits API. Linux kernel and kernel drivers would remain in the C language. The driver kit would just need bindings for other languages that's it. There's a reason every other operating system has a driver kit.
@Sierra4104 ай бұрын
You already can write out-of-tree modules and, technically, you could even write them in any language you want. You'd be completely on your own, however. If what you're proposing is an API for userland drivers: Userland drivers for devices that work over supported buses exist already. My drawing tablet's driver is written in Python, for example. Supporting completely new, unique hardware, however, often requires changes and additions in existing systems of the kernel. In those cases there's literally not a way to make any kind of API that'd work, since the drivers _are_ the API. For things that want to use the hardware.
@RustIsWinning4 ай бұрын
@@Sierra410Aint no way there exists a driver that is written in the slowest language ever known lmao
@Sierra4104 ай бұрын
@@RustIsWinning the driver's purpose is to parse _8 bytes_ from a USB packet and pass the data on into the event system. You could write it Scratch or Brainfuck, and it'd still be fast enough to be imperceptible.
@vasyle22364 ай бұрын
@@RustIsWinningwell,you are not winning supporters for your language by disparaging other people's language 😅😂😏
@RustIsWinning4 ай бұрын
@@vasyle2236 I don't care what others use. I'm just allergic to C and C++
@Creality.R.Crooks4 ай бұрын
Firefox doesn't even multitask across different tabs with Mint Mate anymore. I think Jaunty was the best client desktop I ever used. It just keeps getting worse and worse thesedays.
@therealmccoy72214 ай бұрын
Linus made the perfect argument: the "memory safety in Rust vs "memory unsafe C" argument for Rust is a red herring because there are tons of tools in the kernel to provide memory safety for C. I mean, do the Rust people really think you can develop the system that runs the world 24/7 with an "unsafe language" ? Give me a break. Outside the kernel there are also tons of tools (Valgrind of course coming to mind first) that deliver the "memory safety" in C that the Rust people claim to have the copyright on. And of course just using const pointers and static analyzers catches most if not all of the memory bugs. It's not that the C/C++ community was sitting on their hands waiting for Rust to come and save them. That makes Rust an extremely complex language with little to no advantage over C/C++.
@chichu_nichu4 ай бұрын
what is bro yapping about
@fedfer4 ай бұрын
The thing is, all of these tools sit outside the language, they are not features of the language itself but rather tools people have developed to have a better developer experience. With no integration with the language itself such tools will never be able to achieve what Rust or other memory safe languages can. Also is Rust such a "complex" language when you consider all the tools you need to even mimic a fraction of its features in C? Because those tools add up to a lot of complexity themselves.
@stefanalecu95324 ай бұрын
And even then, it isn't like Rust is the first language to have figured out memory safety or being safer than C. Ada has existed for ages, standardized in 83 and has been and is still used in plenty of critical software.
@therealmccoy72214 ай бұрын
@@fedfer Running your C code in Valgrind sure is a lot less complex than understanding "lifetimes".
@minerscale4 ай бұрын
@@therealmccoy7221 Lifetimes are a concept you need to keep track of when writing your C as well. When you run a function that returns a handle to your shiny created object, you need to keep track of that handle and call the requisite free function at the end. The space between the object's creation and deletion is its lifetime. Having your language guarantee that all usages occur between the creation and deletion of an object and that an object is freed exactly once is one honking great idea.
@egonkirchof2 ай бұрын
Why can't Rust folks simply create a version of the kernel totally written in Rust ?
@blackfox54132 ай бұрын
Too busy making up pronouns
@RustIsWinning2 ай бұрын
I wrote my kernel today. Checkmate!
@ulysses45364 ай бұрын
I think Linus here was amazing. I loved everything he said!
@terabit.2 ай бұрын
Gay !
@davidespinosa19103 ай бұрын
Where can I find a good discussion of Rust vs C pros and cons for Linux ?
@gamertechkid14904 ай бұрын
We don't need your Intro Pre-Amble bud. It adds nothing "LETS WATCH THIS VIDEO WE ARE ABOUT TO WATCH"
@Lemon_Inspector3 ай бұрын
pre-ramble
@data9k3 ай бұрын
I'm a C, C++ and Go developer, should I jump into Rust?
@ninjaasmoke3 ай бұрын
absolutely not
@rursus83544 ай бұрын
1:50: I've heard pupils propone vi and in particular vim. Never emacs. So vi won the argument.
@SavvyNik4 ай бұрын
Wait you’ve been with vi this entire time…
@vaisakh_km4 ай бұрын
@@SavvyNik emacs is the best.. ..operating system, but i only need a text editor :)
@formbi4 ай бұрын
not on my computer
@lellyparker4 ай бұрын
For me, graphical IDE's won the argument. No idea why anyone insists on fighting with arcane key combinations these days.
@stargazer76444 ай бұрын
What is emacs? ;)
@voxeluxamox3 ай бұрын
I realize that for brevity it's often useful to make fast cuts to remove extraneous content, but...at about 5:30, there's a fast cut within a sentence Linus is expressing, of literally just one word: "have". That seems a bit dicey to me. Not implying anything nefarious, just noting what seems a bit overzealous trimming.
@SavvyNik3 ай бұрын
Yeah it’s improved in newer vids. But thanks for the feedback!
@voxeluxamox3 ай бұрын
@@SavvyNik Thank you for not taking it as a personal dig or attack, which regrettably happens pretty often. It's a great video, and the concision is excellent.
@voxeluxamox3 ай бұрын
"which happens pretty often" IN KZbin COMMENTS, that was kind of dumb to leave out; not that YOU take things as personal attacks often...!
@SavvyNik3 ай бұрын
Haha no worries, always love to hear constructive feedback
@sciencefirefly8374 ай бұрын
If rust is so perfect why do they just panic in the Linux kernel for some situations. At the end of the day we have to accept that even Rust has flaws and just introducing it in the kernel doesn’t give you a magical boost in safety 😅
@mmstick4 ай бұрын
They don't allow panicking without handling in the Rust code within the kernel. The Rust Linux project already handles what would be panics in typical application code. Panics happen for the same reason they do in C. They're intentional. A situation occurred where it would be wrong to continue otherwise. Perhaps a cosmic ray flipped some bits and made an impossible condition possible. Or an error in the code caused a branch to execute that shouldn't be allowed. Perhaps the programmer purposely wants debug builds to panic in order to get a detailed stack trace to fix the logic error. It is possible to catch, unwind, and handle a panic, so it's not the end of the world if it happens.
@phitc42424 ай бұрын
I've said it before and I'll say it again and always: no matter the language, it is bound to run into memory issues and/or bugs, at some point. rust included. there will always be some weird bug that is yet to be found. my opinion
@bytefu4 ай бұрын
Facts: there is a substantial boost in safety and it's not magical. Drugs can have side effects and don't fix every health issue they are supposed to. Does that mean we should not use drugs ever?
@mmstick4 ай бұрын
@@phitc4242 That's simply wrong. Rust's syntax was explicitly designed to enable static code analysis to prevent 100% of memory safety vulnerabilities. As evidence of proof, Google's security engineers wrote a report in 2022 where they highlighted in bold text that they have written 1.5 million lines of Rust code across 4 years in Android and had exactly 0 memory safety vulnerability in their Rust code. In the same time frame, 89% of known exploited vulnerabilities were memory safety vulnerabilities from C++ code written in that same timeframe.
@thanatosor3 ай бұрын
And Zig ? Maybe, I will just use Verilog. Anyone can be my guest 😂 I'm tired of keep guessing what hidden params are there in each embedded MCU chip compiler.
@minneelyyyy4 ай бұрын
I feel like if Linux got competition it wouldn't be because they wrote it in Rust (it might help a little bit, but most people don't care what language something is made in), but that Linux is so bogged down by decades of design choices and old paradigm. Linux was revolutionary in that it was an open source operating system and wasn't bogged down in the same way BSD was thanks to a lawsuit, but it's still designed after UNIX which is *decades* old. We need another OS revolution before Linux loses any market share. I'm not sure if simply writing it in Rust is that revolution.
@rosomak82444 ай бұрын
There is some accumulated value in it being old. It has been practically proven. Plenty of people seem to underestimate that.
@comradeklaymore3 ай бұрын
RedoxOS (and others) are writing new operating systems in Rust with different design choices
@kodekata3 ай бұрын
6:06 - I too think we should improve the ease of Bottoms Up development 🍑 ⬆️
@urisimchoni39364 ай бұрын
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.
@rayo39144 ай бұрын
Religion
@MrDukeeeey4 ай бұрын
Not religion. C is a very simple language. Rust is a far from trivial. Language complexity is probably a real barrier to entry for devs especially if they are working for free in their free time.
@rayo39144 ай бұрын
@@MrDukeeeey C is a very simple, so its super advantage of it and a reason to use it instead of wasting your time on Rust. And i am the Rust fan.
@jmz80864 ай бұрын
Agreed. Well said.
@RustIsWinning4 ай бұрын
@@rayo3914 Fake Rust fan!!!!
@ugoodАй бұрын
Linus tried hard to stay gentle in this interview, but considering Torvald's decades-long criticism of C++ and any other competitor language of C for kernel development, it's obvious that dramatic changes have happened in his philosophy. Maybe C is really that bad while Rust is that good. after all, Google has reported shocking 68% decrease in memory-management related bugs in their code bases in Rust projects.
@turtlefrog3694 ай бұрын
mixing languages is very bad mmmkay.
@username77634 ай бұрын
Tell us web developers that. We use HTML, JS, TS, CSS, JSX, SVG plus a bunch of other languages on the backend like PHP, Java, C#, Go, all in the same product. Yeah it gets a bit crazy, but you'd think a project could handle 2 languages at least.
@Leonhart_934 ай бұрын
@@username7763 That's all smoke and mirrors. The browser still only understands pure JS and the skeleton is the same HTML. It doesn't care what the backend is as long as it sends the right response.
@muhdiversity74094 ай бұрын
@@username7763 web anything is garbage. If a kernel was written to behave like the average webapp the kernel would be unusable.
@RustIsWinning4 ай бұрын
ok Mr. Mackey
@defeqel65374 ай бұрын
@@username7763 ahh yes, the world that turns a few kilobytes of data/code into gigabytes of nonsense
@Alysonhower2 ай бұрын
What's the problem? Just wrap the Rust parts with unwrap() or expect("This should never fail. Good look debugging it")
@RustIsWinning2 ай бұрын
Damn we found a comedian right here 😂
@chrispbacon30424 ай бұрын
Linux is more than thirty years old no wonder people are beginning to c rust. I would recommend a good spray lubricant to get in those tight spots a keep that kernel well lubed and stop the drivers from seizing.
@mykolamorozov20993 ай бұрын
Where can I find some high level view of how Rust code communicates with C code in linux kernel(and vice versa)?
@StephanusTavilrond4 ай бұрын
I don't have any problems with Rust as a programming language.... My main problem with Rust is the programmers who use it: hardcore progressive types who have zero tolerance for alternative political views. The hardcore LGBTQP+, BLM, etc. types, who are offended at the very idea of keeping programming apolitical. The Rust Foundation is entirely made up of such people. This is precisely why I'm not touching Rust, not even with a ten-foot pole, and will oppose its inclusion into anything.
@RustIsWinning4 ай бұрын
Imagine caring what a foundation does lmao 😂
@Doctom914 ай бұрын
Spot on.
@StephanusTavilrond4 ай бұрын
@@RustIsWinning It's not just the foundation, but also a significant portion (if not the majority) of Rust-users.
@RustIsWinning4 ай бұрын
@@StephanusTavilrond I do not care. Rust is winning anyway.
@johndoe2-ns6tf4 ай бұрын
@@RustIsWinning of course it is ... now, lay down the crack pipe and take a hike.
@vishalmishra30464 ай бұрын
In this day and age of AI assisted development tools, languages esp. C vs. Rust don't matter as much as they used to. People just need to grow up and be open to new safer than C languages and be data driven about the pros and cons of both approaches instead of being emotional and religious about these perfectly legitimate differences.
@conundrum2u4 ай бұрын
The rust culture and architectural faults will be its own undoing with regards to integration into Linux. Long term thinkers will not switch quickly to Rust. It needs to be a slow, measured process. The ADHD attitude that the new toy has to be adopted NOW NOW NOW just doesn't fly. This isn't a JS front end framework you can just swap out EZPZ
@RustIsWinning3 ай бұрын
I do not care. Boomers need to retire NOW --> ♿️
@Zarathustra-H-3 ай бұрын
I'm going to show my colors as a layman and lack of understanding here, but why would the kernel need to be aware of any language? Doesn't it just go through a compiler and then once it is a binary, not matter anymore?
@esra_erimez4 ай бұрын
I completely agree with Linus Torvalds on the matter of Rust vs C
@cybernit34 ай бұрын
Exactly, Linus points out with embedded system you need optimization. RUST is like C++ with the compiled code efficiency level; C is a bit more efficient. So Kernel and Drivers should be at the most efficient build code level as possible; especially for Real time or Gaming systems. If they make a RUST Linux for the government; where they want better memory safety and security; then it might find a niche market like Linus stated.
@secretzpt1763 ай бұрын
@@cybernit3 That's not what he said, nice try. People say Rust is a religion, C doesn't seem to be much better.
@zzip04 ай бұрын
What's the big deal about Rust? Why not Ada for example?
@crackwitz15 күн бұрын
Ada is old, Rust is new. It's youthful hubris.
@aesculetum4 ай бұрын
rust should never been allowed in linux kernel; the rust community isn’t just infiltrated by people more concerned with politics than the language itself, it is only people who are ideologues first, programmers (if they are programmers) second
@defeqel65374 ай бұрын
Perhaps. IMO it should be more isolated with clearer rules, but perhaps that is something that will emerge with time.
@noweare12 ай бұрын
Linus embracing that wisdom that comes with age and experience.
@orlovskyconsulting4 ай бұрын
Rust community is toxic, recently they even tried to swat one of the Linux developers.