Linus On C vs Rust Linux Problems

  Рет қаралды 232,834

ThePrimeTime

ThePrimeTime

Күн бұрын

Пікірлер: 1 400
@ThePrimeTimeagen
@ThePrimeTimeagen 4 ай бұрын
MISS SPOKE: Emacs never charged and I couldn't find the source in which I originally learned this which means I made it up from the cockles of my heart You are welcome and subscribe to me on twitch
@geek2145
@geek2145 4 ай бұрын
You really stepped on a landmine with this one lol.
@rumplstiltztinkerstein
@rumplstiltztinkerstein 4 ай бұрын
Takes a lot of patience to talk with so many developers in real time on-stream bro. That's very commendable.
@Hyp3rborean
@Hyp3rborean 4 ай бұрын
Is miss spoke hot? Let's go
@hackbinary
@hackbinary 4 ай бұрын
Lucid Emacs charged in the beginning.
@unpythonic
@unpythonic 4 ай бұрын
As someone from those times, the wars were more substantive then. Machines had very limited memory and disk. vi would start up instantly and was wicked fast, but you only had access to one file at a time, practically no customization, and yeah, modal editing. vi was a huge leap beyond ed, sed, and friends, but not much. Emacs on the other hand was a luxuriant fully customizable and infinitely extensible editor in lisp, but it was a hog of memory and disk, and took forever to start up (relative to vi), and the key bindings were byzantine. Nowadays, both editors are essentially equivalent and the argument is just about the extension language or modal editing. To get the feeling of the old wars, imagine comparing nano to vim ;)
@tirushone6446
@tirushone6446 4 ай бұрын
You know it's time to stop when linus says the argument is becoming to toxic
@TheGreatRepeller
@TheGreatRepeller 3 ай бұрын
When people say the word "toxic" is when the argument actually ENDS not begins silly pathetic millennial.
@naturallyinterested7569
@naturallyinterested7569 4 ай бұрын
If JS is abstract chaos, Java is AbstractChaosFactoryProviderSingleton
@gneryze
@gneryze 4 ай бұрын
goddamn right on the spot joke right there
@liegon
@liegon 4 ай бұрын
It's funny, but aren't Singleton and Factory as well as Abstract mutually exclusive?
@BeatsByYari
@BeatsByYari 4 ай бұрын
@@liegonPeter here to explain the logic: The type is AbstractChaosFactoryProviderSingleton. This means that the class instance is a singleton and provider of AbstractChaosFactories, which is perfectly valid. Abstract factories do unfortunately exist in the real world.
@liegon
@liegon 4 ай бұрын
@@BeatsByYari Okay wow, thank you. Seems super unnecessary.
@CeePritch
@CeePritch 4 ай бұрын
​@@BeatsByYariand to break it down a little more. The provider would be a class most likely passed in as a parameter for dependency injection. Then the class would call the provider (singleton in this case) and create an AbstractChaosFactory. So a factory pattern is used to create many instances of something usually with varying parameters. At this point the class would most likely generate many forms of chaos cast from the abstract base class for chaos. Thusly you have a enterprise scale system capable of many types of chaos and chaos producers.
@arcaneminded
@arcaneminded 4 ай бұрын
If Torvalds wasn't the way he is, then Linux would be a terrible experience.
@gfixler
@gfixler 4 ай бұрын
I've been worried for years about Linux burning to the ground after he dies. He rules with an iron fist, and Linux has been wonderful for me for 18 years now.
@ryoukaip
@ryoukaip 4 ай бұрын
true
@NGC1433
@NGC1433 4 ай бұрын
This is deep sarcasm, right? RIGHT???
@TroubledTrooper
@TroubledTrooper 4 ай бұрын
And that's why I am petrified as to what will happen once he passes/retires...
@kayakMike1000
@kayakMike1000 4 ай бұрын
​@@NGC1433dude, seriously? Maintainer has strong opinions about shit getting in _his_ code base and you have the gall to suggest sarcasm. Go take a long walk off a short pier.
@Novascrub
@Novascrub 4 ай бұрын
he doesn't mean religious as philosophical, he means religious as dogmatic
@Jabberwockybird
@Jabberwockybird 4 ай бұрын
Bikeshedding with the analogies
@UnidimensionalPropheticCatgirl
@UnidimensionalPropheticCatgirl 4 ай бұрын
@stysner4580 He is pretty religious, from time to time he talks about it on stream. > In scandinavia I guess it depends on the location, from my experience of living in Oslo for a couple years, I would say that norwegians are still pretty religious as a group.
@Zeocins
@Zeocins 4 ай бұрын
Philosophy is dogmatic. Take one look at the political world, which is all philosophy. Bombs are dropping right now on real people over dogma between old soviet states.
@Jabberwockybird
@Jabberwockybird 4 ай бұрын
@stysner4580 "The fool has said in his heart, there is no God." Yes, that's dogmatic, but there is a sense of dogmatism that has to exist. Either God exists or He doesn't. No need to veil it.
@maimee1
@maimee1 4 ай бұрын
​@@Jabberwockybird I think critique of dogmatism exists purely because people exist outside of it?
@YTacc-n4
@YTacc-n4 4 ай бұрын
why not just use python?
@fz_lyu
@fz_lyu 4 ай бұрын
for what?
@milanmolnar3820
@milanmolnar3820 4 ай бұрын
Best ragebait
@cyanlight7
@cyanlight7 4 ай бұрын
Good joke, the door is right there
@SorinSilaghi
@SorinSilaghi 4 ай бұрын
RUN! :)))))
@Maxშემიწყალე
@Maxშემიწყალე 4 ай бұрын
Python is actually too useful and simple for devs to include in Linux. They want something that is impossible to use and no one understands hence; Rust.
@lineshawn4819
@lineshawn4819 4 ай бұрын
"the most bikeshedding group of people which is kernel development" Prime clearly hasn't seen any of the Wayland protocol discussions
@jamess.2491
@jamess.2491 4 ай бұрын
Nah Wayland dev is such a shit show 😂
@Kane0123
@Kane0123 4 ай бұрын
Are they discussions or debates? I think we need to be sure not to misrepresent the kind of communication taking place
@siamesestormtrooper
@siamesestormtrooper 3 ай бұрын
6:25 Telling Linus Torvalds what he actually meant to say is pretty ballsy for a guy who can’t read 👀
@NostraDavid2
@NostraDavid2 3 ай бұрын
Boom, roasted!
@TheHackysack
@TheHackysack 3 ай бұрын
ha
@thetj8243
@thetj8243 3 ай бұрын
I think the argument is that in other languages philosophical/religious has different overlaps than in English and Linus fist language isn't English but Finnish. As a German I can see that some things I would discribe in one way in one language you often should not take it over 1:1 especially phases often don't translate literally
@siamesestormtrooper
@siamesestormtrooper 3 ай бұрын
@@thetj8243 oh I didn’t know Linus’ first language was Finnish… still though, I think he’s got a pretty good grasp of English too
@tapwater424
@tapwater424 2 ай бұрын
​@@siamesestormtrooper Actually his first language is Swedish, even though he is a Finn, which might explain why he had to learn English so well.
@krumbergify
@krumbergify 4 ай бұрын
BSD was locked into legal issues during the early 90s, UNIX was expensive and GNU Herd wasn’t ready. Linux was created during a very special five year window and it could not have succeeded five years earlier since GNU wasn’t ready yet and it would have been hard for Linux 0.1 to compete with mature BSD in the late 90s. I also think that Stallman’s philosophy was an inspiration for many young developers.
@dc443
@dc443 4 ай бұрын
Uh you wrote a comment without finishing it and put a literal ellipsis character at the end. are you okay? Or is youtube fucking with me right now.
@dannyarcher6370
@dannyarcher6370 4 ай бұрын
Linus fucked up with the GPL but I understand why he had to do it. BSD is the libertarian's licence. GPL is for commies.
@71Jay17
@71Jay17 3 ай бұрын
@@dc443 its perfectly fine.
@Anriuko
@Anriuko 3 ай бұрын
2025 the year of Hurd desktop.
@loicjeannin6233
@loicjeannin6233 3 ай бұрын
So that fact that Linus struck gold again with git 15 years later is a fluke right ? He was lucky again ? If the Linux dev structure was not superior it wouldn't have lasted. I used open/net/free bsd in the 2000's with netbsd being my favorite. They did not evolve as fast just because Linus was just better as an engineering lead.
@swedishpsychopath8795
@swedishpsychopath8795 4 ай бұрын
Visual Basic should be used! No type problems there! It won't accept anything bad. If you type the smallest error it gives you POP-UP errors! THAT IS BETTER THAN RUST! Have YOU seen popup-windows in Rust? I didn't think so. Therfore Visual Basic it is!
@comradepeter87
@comradepeter87 4 ай бұрын
Then we can just have an small embedded microkernel inside the Linux kernel(!) to handle window popups for Visual Basic. LGTM let's do it
@sierra.mike.atomic8177
@sierra.mike.atomic8177 4 ай бұрын
Truly a psychopath
@allowambeBOWWAMB
@allowambeBOWWAMB 4 ай бұрын
on error resume next - will never crash
@PalladinPoker
@PalladinPoker 4 ай бұрын
x = 0 Woah man, way too terse. int x = 0; no no no, nobody understands that. DIMENSION x AS INTEGER INITIALLY 0; now this, this is perfect.
@swedishpsychopath8795
@swedishpsychopath8795 4 ай бұрын
@@PalladinPoker Sure it sounds bad if you put a negative spin on it. But that goes with rust too. If you omit ANY letter in that declaration you'll get a pop-up error message! Type safety right there, and right in your face. visual basic FORCES you to acknowledge your error by you having to press the "OK" button. The vb editor also refuse to save the file before it is corrected. How in the world could an error be introduced into such a system?
@charlesbcraig
@charlesbcraig 4 ай бұрын
Prime: Making an OS takes many many people and many many years Terry Davis: *enters the chat* (from heaven)
@nezu_cc
@nezu_cc 3 ай бұрын
Re-write Linux in HollyC. With the power of god on your side, it has to be safer than Rust.
@UnidimensionalPropheticCatgirl
@UnidimensionalPropheticCatgirl 3 ай бұрын
Temple os didn’t even have proper networking, not to even mention the god awful hardware support, yeah most cs students can write small unix clone in a few months but getting to be actually usable takes years.
@charlesbcraig
@charlesbcraig 3 ай бұрын
@@UnidimensionalPropheticCatgirl how dare you
@snesmocha
@snesmocha 2 ай бұрын
@@UnidimensionalPropheticCatgirl…. As a year university student in cs who learnt c/c++ on their own years ago, I still help year four students set up mingw…. Or even write make files. My ass can most of these dumbasses write even basic assembly
@tapwater424
@tapwater424 2 ай бұрын
​@@charlesbcraig The Terry Davis jokes are just getting a bit overused. It's the same energy as people starting out who think jokes about missing indentation in Python is the funniest thing ever. It's the ultimate co-worker meme. The hawk-tua of programming.
@NVM_SMH
@NVM_SMH 4 ай бұрын
You have missed the point. The Rust people want the C people to provide precise definitions for the function calls. The C people don't want to do that. I think that the Rust people are right. It's not about whether C is better than Rust.
@mrlazda
@mrlazda 3 ай бұрын
Is that serious? Rust people can't read C function definition and they want to contribute to kernel? That is funny, I don't know how someone who can't read C function definition can make even simplest kernel API call in any operating system, because all kernel API call in all (to my knowledge) are made by C function calls. Basically any interaction with operating system in any operating systems is done using C function calls (in most cases that is done by standard library) and to do any kernel development reading C function definition is minimal requirement.
@NVM_SMH
@NVM_SMH 3 ай бұрын
@@mrlazda The C definitions are inadequate for a full specification of what to expect. Can objects be null, what is the range of the expected values, for example. The Rust type definitions are much more powerful than C. If that information can't be provided then the interface is fragile.
@mrlazda
@mrlazda 3 ай бұрын
@@NVM_SMH You are still joking? It is simple in C object cannot be NULL, just because in C there is no objects (C is not object oriented language), you can find range of variables from type ... Rust data types are near identical as C, and Rust is not ADA so you define range of values for variable (ADA was all what Rust promise to be and more but it still failed language, it is still used in some niche areas, but is replaced in it too). All functions are well documented, if they was not, not single program would work and Rust compiler would be useless (even more then useless then is now depends who you ask) because even Rust standard library at end is calling C functions for any kernel API call. If that what you saying is true for Rust programmers the I totally support C programmers and not only that all Rust developers that ask that need to be banned for any access to kernel and they probably should find different profession because software development is not something they know what to do.
@NVM_SMH
@NVM_SMH 3 ай бұрын
@@mrlazda can the pointer be null. What are the expected values for parameters.
@mrlazda
@mrlazda 3 ай бұрын
@@NVM_SMH Pointer can be NUll or any number in range of 0 to UINTPTR_MAX bit pointer is not object, and can't even point to object, again there is no object in C (C is not object oriented language). And again expected values for parameters are documented for any kernel API function. Maybe Rust programmers can't read documentation? And why Rust programmers would even bother with pointers, they chose Rust because they do not know how to use pointers and deal with raw memory access.
@caerphoto
@caerphoto 4 ай бұрын
I don't like the idea that C is "easy to learn". It's like saying learning to drive is easy, when what you really mean is "learning how to operate a car is easy". Like yeah, learning the absolute trivial basics of how to operate the thing IS easy, but learning how to do it safely and efficiently is most certainly not. Learning Rust is , I guess, like learning to fly: it's much harder initially, it enforces much stricter safety, and you just plain aren't allowed to do certain things or you won't even be allowed off the ground, and as a result it has a much better safety record.
@seanwoods647
@seanwoods647 4 ай бұрын
Learning to program is hard. Full stop. And speaking as someone who has been programming for 40 years (yes I started when I was 10), the language is NOT what makes programming hard. It is understanding the complexity of the interfaces. Rust basically plays keep-away with everything. It's not like learning to fly is to learning to drive. It's like calling an Uber is to learning to drive.
@dc443
@dc443 4 ай бұрын
The analogy seems better the other way around. Rust forces you to stay on the ground in order to ensure that you will be safe (e.g. not fall out of the sky). C just lets you do whatever you want, including taking to the skies. It's on you if you pancake yourself.
@pnk-q9w
@pnk-q9w 4 ай бұрын
@stysner4580 no its limited, so at anypoint you want to do something other than a calculator you suddenly are missing 80% of other programming languages. learning basics + doing some elementary projects isnt learning a language, that takes years, the fact that its so barebones makes it very hard to really get good at building stuff actually useful
@dasten123
@dasten123 4 ай бұрын
No way anybody who is competent would claim that C is easy to learn
@yearswriter
@yearswriter 3 ай бұрын
C is also easier in the sense of ' think as you want to think'. Most of the things are abstractions over Os\Hardware concepts which are gonna be there regardless of language, and you can freely code and solve problems in any ways you want. Rust, in contrast, forces you to think about memory and stack around it's type system and borrow checker. Which can be annoying after C freedom. This is regardless of advantages and disadvantages, just observation about 'easier' part not being only about learning the language but also learning to solve problems. There are million and one way to solve nullptr in C and Rust forces you to abstract it to safe code with lifetimes\option\error return etc.
@OneGodHand
@OneGodHand 4 ай бұрын
you should watch what linus said from the source video when its available, reading it from someone else's words gives different interpretation to the intention behind his words.
@AlexAegisOfficial
@AlexAegisOfficial 4 ай бұрын
Kernel developers being protective and gatekeeping is good for the stability and quality of linux. They should be very skeptical and careful with everything. Linux is a core component of modern civilization.
@rmidifferent8906
@rmidifferent8906 4 ай бұрын
​@@CommanderRiker0They won't create their project for the same reason that rewrites of the applications don't work - the project is already mature and it is impossible to write something that will fully replace it and keep working on the original kernel. You might not like Rust but let's not get stupid - refactors are good even if they are painful
@PiotrPavel
@PiotrPavel 4 ай бұрын
@@CommanderRiker0 there is RedoxOS but a lot of modern stuff wouldint work
@computernerd8157
@computernerd8157 4 ай бұрын
The world can survive if Linux dies, just like it did when Unix went away.
@UnidimensionalPropheticCatgirl
@UnidimensionalPropheticCatgirl 4 ай бұрын
@@computernerd8157 UNIX never really went away… AIX and Solaris are both still sold and get some usage in certain parts of the industry and your networking gear most likely runs on BSD.
@SuperSampling
@SuperSampling 4 ай бұрын
@@CommanderRiker0 First off, there is Redox, which is a Microkernel written in Rust. Secondly, the "Rust" people didn't come into the Linux kernel, they were invited. And most of them are not just excellent Rust programmers, but also excellent C programmers, otherwise they couldn't bridge the gap between the languages. So it ain't a skill issue. At least not a skill issue from the side you intended to insult. The problem, once again, is that a big part of the Linux API isn't documented. You often have to copy, paste and tweak stuff that someone else already made and which was refactored when someone broke the API when submitting a patch. Rust wouldn't increase complexity. The Rust type system would document the contract of the API in-place in addition to isolating unsafe operations.
@KelvinShadewing
@KelvinShadewing 4 ай бұрын
Me binding every function in Linux to Squirrel so I can replace bash scripts with nuts.
@Jabberwockybird
@Jabberwockybird 4 ай бұрын
Does it use Squirrely braces?
@black-snow
@black-snow 3 ай бұрын
Deez Nuts
@RustIsWinning
@RustIsWinning 3 ай бұрын
@@KelvinShadewing LOL the classic .🌰 files :D
@michaldivismusic
@michaldivismusic 3 ай бұрын
That's just nuts!
@seanwoods647
@seanwoods647 4 ай бұрын
I work on the Tcl core. There is/was a movement to shift development to Rust from C. The issue is that the Rust people who are insisting on that change only want to dick around with memory allocators and such. When confronted with hardware interfaces, external APIs, network communications, etc. they just throw up their hands and say "Oh that's a YOU problem." As if somehow a general purpose scripting language's only job is to allocate memory and not, like INTERFACE with anything.
@meanmole3212
@meanmole3212 4 ай бұрын
I find that interesting considering there is not even a standard for using different mem allocators in the Rust standard library, it has been in development for ages. It seems more like Rust people don't care about memory allocations, perhaps the story is totally flipped on the side of #[no_std]
@Daktyl198
@Daktyl198 4 ай бұрын
Internal structure is where Rust works best anyway. You say dick around, but they probably just assumed a C interface with the outside world would be best to leave as-is until they fixed most of the other issues in the internals. Dealing with accidentally breaking external interfaces while you still have bugs/issues stemming from a rewrite in the core is not good.
@wetter4293
@wetter4293 4 ай бұрын
@stysner4580 Yeah, and they picked the least compatible 'core feature', so much so they're willing to compromise it's CORE functionality in order to do it. Sounds lazy to me.... C devs, got a great language, c, and built an OS out of it. Rust devs got a great language, and is trying to inseminate itself into every possible crevice it can. Correct me if I'm wrong, but did c try to tack onto pascal, or fortran to force some unfitting adaptation?
@cyberpunkspike
@cyberpunkspike 4 ай бұрын
@@wetter4293 Nope, C just did what it does and didn't need zealots shoveling it down everyone's throats.
@cyberpunkspike
@cyberpunkspike 4 ай бұрын
Even if they do more, it's only because they want to engage in a culture war, if or when Rust ever won... they'd never write or maintain jack shit.
@Heater-v1.0.0
@Heater-v1.0.0 4 ай бұрын
Seems to me that the Vi vs Emacs debate is totally different to the C vs Rust debate. In the first case every developer can use whatever editor he likes and it has no effect on any other developer. In the later case if a project adopts a new language then likely everyone has to invest much time and effort into mastering that new language. Worst still they end up having to deal with two languages all the time. I can understand why many have resistance to the demands a new language makes on them
@aibrainlet8041
@aibrainlet8041 4 ай бұрын
Also since was was emacs the "big paid editor" ?? I don't think that's true at all, I think they have different licenses but I don't think emacs was ever anything more than just stallmans experiments with a lisp compiler, not a big corporate editor VScode
@yjlom
@yjlom 4 ай бұрын
​@@aibrainlet8041so that's a woosh
@aibrainlet8041
@aibrainlet8041 4 ай бұрын
@@yjlom ??
@yjlom
@yjlom 4 ай бұрын
@@aibrainlet8041 en.m.wikipedia.org/wiki/Joke
@_start
@_start 4 ай бұрын
​@@yjlomthat indeed wasn't a woosh sir
@exotic-gem
@exotic-gem 4 ай бұрын
Zig isn’t a better choice, it’s not different enough from C. There isn’t much benefit from switching, such a big project needs a real good reason to switch to a new language.
@melodyogonna
@melodyogonna 3 ай бұрын
Who is talking about switching?
@chrboesch
@chrboesch 4 ай бұрын
Watched the interview with Linus and he made a very important point: C in the Linux kernel is not standard C. It has a lot of memory safe code inside, that's (for my understanding) the reason, why he don't' want to force another language.
@RustIsWinning
@RustIsWinning 4 ай бұрын
Cool. It is still memory unsafe tho 😂
@Daktyl198
@Daktyl198 4 ай бұрын
kernel C is not standard C, but it does not have memory safety built into the language. He said that they've worked to implement memory safety into the kernel, but it's almost impossible to guarantee it with any form of C. Additionally, Linus actively encourages development of Rust in the kernel as he doesn't want the kernel to stay stagnant with C (less and less developers are learning C as time goes on) and sees Rust as the language that most benefits the kernel if it works out due to the memory safety.... which again, Kernel C does not have.
@UnidimensionalPropheticCatgirl
@UnidimensionalPropheticCatgirl 4 ай бұрын
@@RustIsWinning so is “safe” rust, thanks to all the UBs surrounding closures and lifetime expansion.
@antoniong4380
@antoniong4380 4 ай бұрын
​ Any example? Like meaningful one? An example of meaningful interface footgun would be struggling to effectively perform a formally called LendingIterator with the std Iterator trait. Spoilers: You can't; because the std iterator is meant to return owned values. Now, if you don't get to learn this limitation to std's Iterator trait, then you might spend hours self-hating yourself for not being able to do a simple Iterator Implementation, when the interface itself wasn't designed to behave like what you were expecting.
@toby9999
@toby9999 4 ай бұрын
​@RustIsWinning It's not unsafe if it has been proven safe. Perhaps you don't realise that all languages boil down to assembly code at the bottom, and assembly is unsafe. Rust might be considered safe. Why? Because the implementation has features that enforce "safety" rules. The same enforcement can be built into a C application. The difference is in where and how those rules are enforced, but it can be done.
@ShootingUtah
@ShootingUtah 4 ай бұрын
I know Rust CAN be used to program at the Kernel level but with it's verbose and arcane syntax, it's actually muddying the waters of the kernel! The benefit of C is it's barely above assembly. Keeping the abstraction small. With Rust you're abstracting too far away from the inherent danger of the kernel and adding millions of places for all kinds of problems. Maybe if Linux was built with Rust from the beginning we'd have a different story but trying to mix languages that are almost on opposite ends of the paradigm spectrum together just sounds like problems waiting to happen!
@Daktyl198
@Daktyl198 4 ай бұрын
You really should learn a bit of Rust before you comment. C is great, and Kernel C (it's own variant) is even better. But Rust is nothing like what you just said. To begin with, Rust syntax is verbose, but not "arcane". In fact, it's verbosity is specifically there so that you're never confused as to what the code is doing at any point in time. Additionally, Rust doesn't have any sense of "abstraction" over C, other than not having to allocate or free your memory manually. Almost all Rust safety features happen at compile-time checking of your code, not runtime abstractions unlike something like Go with it's garbage collector. Additionally, bindings (especially against a language like C) are pretty standard things and fairly easy to maintain, as long as the functions on either side of the interface are well documented. The only issue here is that the Kernel C code is hard to read, has many layers of abstraction, and are not documented. If any of those 3 things were different, we wouldn't be hearing anything about this issue because it wouldn't be an issue.
@71Jay17
@71Jay17 3 ай бұрын
"arcane syntax" ? You feeling okay? Feeling a little blue pilled by Null and memory safety are we. Tony Hoare said it perfectly: "I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years."
@rowbart3095
@rowbart3095 3 ай бұрын
@@71Jay17 references and nullability is perfectly fine, i'm not sure how people struggle with it so much
@JanMagnusson72
@JanMagnusson72 4 ай бұрын
Using C a lot of knowledge is in the heads of developers. Rust sees this reliance on implicit knowledge as a problem and tries to embed a lot of this directly in the type system. To do this, devs not using Rust need to "externalize" some of this knowledge so that the Rust maintainers can build good Rust abstractions. Even if the C maintainers don't have to use Rust, they have to do new things that they didn't have to do earlier to satisfy the builders of the Rust type system. Some of them do not like this.
@rmidifferent8906
@rmidifferent8906 4 ай бұрын
​@@CommanderRiker0Yeah, after all a fully functioning kernel is something that a few guys should be able to build in a few afternoons. That's why we have so many open source kernels to choose from after all. They spring up like js frameworks
@ythanzhang
@ythanzhang 4 ай бұрын
@@CommanderRiker0 Linus also suggested someone should write pure Rust kernel, and there are some, for example Redox. But the reason of introducing Rust into Linux is Linus belive the kernel may stagnate if they always doing things the same way and Rust is something that's significantly different and offers clear benifites if it works out. Also it's called an experiment for good reasons.
@kyrylmelekhin2667
@kyrylmelekhin2667 4 ай бұрын
​@@CommanderRiker0W take.
@aaaaaaaaaaaaaaaaaa-p5t
@aaaaaaaaaaaaaaaaaa-p5t 4 ай бұрын
@@CommanderRiker0”just make a kernel in rust” said by a KZbin comment. No serious person understanding the landscape of kernel dev believes that’s a good idea. We already have a kernel with decades of effort behind it. How about we don’t replicate all that work because some kernel wizards got butthurt that their API isn’t well defined and Rust devs called them on it.
@McZsh
@McZsh 4 ай бұрын
Sorry, but this is pure entitlement bollocks. The C devs not using Rust have to do exactly nada. They have made abundantly clear they will NOT maintain the Rust bindings. They have made clear, that they don't want to give assurances about any Rust bindings maintained by another person. They WANT to keep things movable instead of turning things into a "well defined" walled garden.
@magnusm4
@magnusm4 4 ай бұрын
I love Linus. Not only is he super honest and direct. But he also explained why it's not a valid bug and explains every aspect of it and how they work such as ENOENT and ioctl. That's really professional and I wish this was done more, even forcibly to explain what you don't like and what they thing is. And his last point just saying "screw it, I'll do it myself". Perfect. Makes me miss one of the old CEOs of Nintendo who personally went down and fixed the coding problems.
@joseoncrack
@joseoncrack 4 ай бұрын
Agreed.
@alietexpositogarcia8979
@alietexpositogarcia8979 4 ай бұрын
Miguel Ojeda did not abandon the Rust for Linux project; it was Wedson Almeida Filho. The article is incorrect. I don't know how you can confuse the names; one is Spanish and the other is Brazilian...
@Euphorya
@Euphorya 4 ай бұрын
Linus gets this stigma of always being a screaming abusive maintainer, but he is not. He's not afraid of calling people out when they are continually making the same mistake, and those always make the news, but the vast majority of the time he is a pretty chill dude.
@ponocni1
@ponocni1 4 ай бұрын
I would not really say its not unhealthy discusion, sometimes you need to not think about someones feelings, but you need to dish reality check. He is a guy who manage one of the biggest projects with tons of people involved and if he does let everyone do whatever they want, you will end up with disaster. I do not envy Linus.
@sirtobi6006
@sirtobi6006 4 ай бұрын
Chaos is not Anarchy, it is Anomy. Anarchy is order but without a Ruler. Anomy is chaos without a Ruler.
@Oler-yx7xj
@Oler-yx7xj 4 ай бұрын
"Torvalds doesn't get it: Rust isn't a religion, it's a philosophy" - The Primeagen 2024
@DataPastor
@DataPastor 4 ай бұрын
Its a cult. Cargo Cult.
@seanwoods647
@seanwoods647 4 ай бұрын
@@tinrab C is a programming language. Rust is a damn cult. Google: Useful software written Rust. The answer: a pile of web frameworks in the Alpha stage, rewrites of simple Unix utilities (badly) and numerical analysis tools that could have just as easily been written in NumPy or Fortan. Honestly there is more justification of Python or Tcl to have a dedicated kernel module. But they don't need it because they can actually just USE the existing C APIS. Rust is a special case because the design is so broken that the ONLY way to write a potentially useful application is if your entire ecosystem is written in Rust. (And this why when you point out to a Rust Zealot that nothing of any consequence is currently written in Rust will state that "Well once we have a Rust OS..." See. It's a cult.)
@mmmhorsesteaks
@mmmhorsesteaks 4 ай бұрын
​@@DataPastorI always assumed that was the joke tbh ...
@pnk-q9w
@pnk-q9w 4 ай бұрын
@stysner4580 they call rust a cult then blindly defend their favorite language, its really funny to watch
@hanro50
@hanro50 4 ай бұрын
I'd say this. Linus is mean, but not toxic. Which I think is the aspect some people miss.
@hungrymusicwolf
@hungrymusicwolf 4 ай бұрын
Sometimes mean is necessary to keep the more foolish among us from ruining it for everyone (including themselves). Note: we're all that foolish guy sometimes.
@CoolestPossibleName
@CoolestPossibleName 4 ай бұрын
@@hungrymusicwolf Man, I'm a foolish guy all the time
@rusi6219
@rusi6219 3 ай бұрын
​@@hungrymusicwolfare you kidding? His behaviour is completely unnecessary. If somebody bothers you just ban/block them and offer reasonable explanation..or don't. But don't act unhinged. People like you enable low moral character.
@ZombieLincoln666
@ZombieLincoln666 3 ай бұрын
@@hungrymusicwolfit’s not necessary
@hungrymusicwolf
@hungrymusicwolf 3 ай бұрын
@@ZombieLincoln666 Found the example!
@brssnkl
@brssnkl 4 ай бұрын
You can still make memory problems in javascript
@theairaccumulator7144
@theairaccumulator7144 3 ай бұрын
Yes, even Prime made a video on it. It's ridiculously easy to leak memory with globals in JS.
@Vinoyl
@Vinoyl 4 ай бұрын
Let's go more linux drama
@jgndev
@jgndev 3 ай бұрын
Important correction. BSD Unix was open source/free before Linux, BUT it was mired in legal battles for a while. AT&T Unix and derivatives were not free and were not open source. Early in my career commercial Unix (Solaris, IRIX, AIX, HP-UX) dominated the landscape in the semiconductor industry and Linux didn't start to replace them until around 2005 or so.
@araarathisyomama787
@araarathisyomama787 4 ай бұрын
I try to get back into Rust once in a while and I drop it every time. I hate semantic bureaucracy for stuff that is simple, but Rust doesn't think it is.
@chizuru1999
@chizuru1999 4 ай бұрын
same. love hate relationship
@pnk-q9w
@pnk-q9w 4 ай бұрын
@stysner4580 this is what i think every time c programmres complain about the borrow checker & lifetimes, their code must be full of bugs if that's their gripe with rust
@Alysonhower
@Alysonhower 2 ай бұрын
Wrap everything with unwrap() or expect("this should work, good look debugging it, bye") and you're done.
@stevenhe3462
@stevenhe3462 3 ай бұрын
For the german string example, the compiler proves more than half of the properties the implementer claims. He can alternatively malloc a Box and just transmute it to whatever he wants, which would be equivalent to what you would do in C, but the compiler would not prove anything about it.
@godDIEmanLIVE
@godDIEmanLIVE 3 ай бұрын
Would you mind elaborating on this point? How can the compiler help by knowing something is a German string? Thanks!
@valhalla_dev
@valhalla_dev 3 ай бұрын
intelligent people talking about anarchism without ever having done deep reading on anarchism always makes me sad
@suede__
@suede__ 4 ай бұрын
They should name this the "Blue Hair War" (for those that remember when their grandma had blue hair)
@therealmccoy7221
@therealmccoy7221 4 ай бұрын
I recommend you simply watch the interview. Linus very politely and calmly made the point that the "memory safety in Rust" versus "Unsafe C in the kernel" debate is a red herring because, as he pointed out, the "C" in the kernel is not the vanilla "C" you usually think of. The "C" in the kernel has been enhanced - especially re memory safety - in decades of work and experience so it's much "memory safer" than the vanilla C because - believe it or not - no kernel developer wants to hunt down ominous memory bugs (even though the Rust community almost gives that impression). Additionally, as Linus pointed out, the kernel gets tested very thorougly in debug builds running with tools like - for instance - Vaögrind that make the claim that the "C" in the kernel is "memory unsafe" not true. There goes your one argument for Rust.
@RustIsWinning
@RustIsWinning 4 ай бұрын
So many tools, mitigations and static analyzers and yet you still end up with critical CVEs LOL
@DrMorax
@DrMorax 4 ай бұрын
​@@RustIsWinningRust community is a cult
@adibemaxwell6111
@adibemaxwell6111 4 ай бұрын
@@RustIsWinning No programming language is perfect, not even Rust.
@UnidimensionalPropheticCatgirl
@UnidimensionalPropheticCatgirl 4 ай бұрын
@stysner4580 vulnerabilities in the kernel are rarely related to memory bugs and even more rarely to the ones rust manages to prevent.
@rmidifferent8906
@rmidifferent8906 4 ай бұрын
It is memory unsafe because it is still C. C as a language does not guarantee anything even with additions. It is safer, that's for sure. But not safe. Tools like Valgrind can only detect things that happen at the time. No amount of debug testing will guarantee memory safety - you would need to test all of the possible states, all of the possible interruptions with multiple threads. You cannot prove anything Also as Linus pointed out Rust is a good idea and it is too early to say that it has failed.
@1n4f4bl3
@1n4f4bl3 3 ай бұрын
Rust’s ownership and borrowing model introduces a steep learning curve for developers, particularly those already familiar with the relatively simple but powerful memory model of C. For Linux kernel development, where maintaining simplicity and clarity is often prioritized due to the complexity of the system, the added cognitive overhead of managing Rust’s borrow checker could reduce productivity, especially for seasoned C developers. C compilers and toolchains, like GCC and Clang, have been optimized for Linux development across a wide range of architectures, from x86 and ARM to more niche platforms. These toolchains are deeply integrated into the kernel’s build process, and they provide extensive support for the specific needs of kernel development, such as cross-compilation and architecture-specific optimizations. Rust, on the other hand, relies heavily on the LLVM backend, which, while powerful, does not yet match the portability and maturity of GCC when it comes to the diverse hardware supported by Linux. Many embedded systems, for instance, depend on architectures that are not fully supported by Rust. This limits Rust’s suitability for Linux, which runs on an enormous variety of devices, from servers to embedded systems with unique constraints. The reliance on LLVM also creates a dependency that might not be as flexible or future-proof as the existing C toolchain. Additionally, any new toolchain changes could introduce subtle issues or bugs that are difficult to detect in such a large, complex codebase like the Linux kernel.
@BlackAsLight448
@BlackAsLight448 3 ай бұрын
If Bun is a large project in Zig then Deno is a large project in Rust.
@Adowrath
@Adowrath 3 ай бұрын
I think one of the things that was missed on the German strings part that nobody else mentioned is that, yes, Rust makes you write more code to achieve the same "effect". But what the Rust code does by nature of you needing to write it out, and the C code almost certainly doesn't, is that you make explicit your design and assumptions. It's not truly 100 lines of Rust vs. 20 lines of C, it's that with 70 lines of explanations in C on top.
@godDIEmanLIVE
@godDIEmanLIVE 3 ай бұрын
If you don't mind, can you elaborate on the specific things a compiler can do knowing a string is in German? Thanks!
@mattymattffs
@mattymattffs 4 ай бұрын
I think the rust people aren't asking for c devs to change. They're asking for c devs to define the behaviour and they don't want to
@LeFlamel
@LeFlamel 4 ай бұрын
Sshhh let them strawman, it's their only way to cope.
@DeviRuto
@DeviRuto 4 ай бұрын
They never had to before. Spit and a prayer has always been enough after all
@boccobadz
@boccobadz 4 ай бұрын
Rust bros wanna C wizards to maintain their code. It's Microsoft's inside job to hijack Linux. Tbh Linux doesn't need rust but rust devs need some reason to exist since there's no real world rust jobs.
@DeviRuto
@DeviRuto 4 ай бұрын
Reading the C code does not lead to the definition of the behavior, because C has UB.
@flarebear5346
@flarebear5346 4 ай бұрын
What kind of argument is this? Rust also has UB, every programming language has UB.
@robfielding8566
@robfielding8566 3 ай бұрын
What C has needed is a good way to proof-check code. It's amazing that uninitialized memory and null pointer exceptions are still a thing in any language. Preconditions checked at compile-time, vs violations logged as errors, or causing panics. I was writing Arduino code for months before I realized it was C++ in a wrapper. A checkable subset of C might have avoided this.
@ZombieLincoln666
@ZombieLincoln666 3 ай бұрын
C has tons of tools for that
@robfielding8566
@robfielding8566 3 ай бұрын
@@ZombieLincoln666 though almost no C code is really checked like this. these tools are not part of the language, or any mainstream compiler. i have heard that there is a coq compiler that proves that none of these issues exist. but unfortunately, pointer arithmetic is just part of the language. it's always a hazard. Mojo does lifetimes like Rust, and apparently Mojo fixes some of the issues with Rust lifetimes. it will be interesting to see kernels move to safe-by-default languages.
@Qohist
@Qohist 4 ай бұрын
I use javascript to make drivers
@Jabberwockybird
@Jabberwockybird 4 ай бұрын
I use css. COBOL style sheets
@Qohist
@Qohist 4 ай бұрын
@@JabberwockybirdGood one
@JohnSmith-gu9gl
@JohnSmith-gu9gl 4 ай бұрын
Will Prime ever do a tutorial for Rust, from beginner to expert?
@Lampe2020
@Lampe2020 3 ай бұрын
10:00 Rust as the core of an OS? RedoxOS is exactly that. But it's not really usable for me as a daily-driver as it's just not compatible with my workflow and will probably never really be.
@TheWahdude
@TheWahdude 4 ай бұрын
I think when you said 'you had to pay for emacs', you meant 'you had to pay for vi'. Vi was built on ed which was AT&T licensed, and it remained built on ed until Vim in the early 90s. GNU Emacs was open source from the get-go.
@stephenreaves3205
@stephenreaves3205 4 ай бұрын
I've always understood Zig as the modern C and Rust as the modern C++ so I was super surprised when they announced they were allowing Rust in the kernel
@zfl1981
@zfl1981 4 ай бұрын
C++26 is the modern C++.
@wqlee
@wqlee 4 ай бұрын
The reason is that Zig doesn't have sufficient memory satefy mechanisms.
@rcoder01
@rcoder01 4 ай бұрын
Zig wasn’t (and still probably isn’t) mature enough two years ago when they decided to adopt rust
@CoolestPossibleName
@CoolestPossibleName 4 ай бұрын
@@wqlee it's good enough imo
@kenneth_romero
@kenneth_romero 4 ай бұрын
@@wqleereally? i thought it was because andrew wanted to do breaking changes to the language still to get the syntax just right.
@ryangrogan6839
@ryangrogan6839 4 ай бұрын
big w take here, this is totally a philosophical argument on how software should be designed/written.
@phillipsusi1791
@phillipsusi1791 3 ай бұрын
I mean, on the one hand, yea, C technically is simple and you can read the standard quickly, but then you have a lot of time learning all of the pitfalls before you get *good* at C. It seems like Rust has a bit more upfront, but a lot less of the pitfalls later that you have to learn the hard way. And never forget. And never get wrong.
@Atomhaz
@Atomhaz 4 ай бұрын
I love that low level learning is just in the chat, dropping truth bombs
@MarcelRiegler
@MarcelRiegler 3 ай бұрын
Zig is not an option, specifically because it does not offer any real unique feature good enough for cost of integration. With Rusts safety features and Linux ubiquity, you may literally end up saving lifes by avoiding void pointers. It's also the biggest blind spot so many C fans seem to have. They never ever address how they want to make the Kernel as safe as it would be with Rust. It's all just "skill issue". Well, we've had enough time to see how far that has gotten us.
@carstenrasmussen1159
@carstenrasmussen1159 4 ай бұрын
This is Scandinavia couture we just Shit on each other and this just means Love
@nescafezos4265
@nescafezos4265 Ай бұрын
I have an idea of making programming language that will be extensible via plugins for the compiler, so people can add syntax features into the language. like how jsx transformers work generating a certain js function calls (intercept into AST stage and modify it for any needs). any syntax sugar needed can be added easily (I guess it can purely replace macros stuff, so dont need to implement them), while keeping the unmodded underlying lenguage a bit simpler. I even started to write draft code of what syntax I would like for such language...
@tiranito3715
@tiranito3715 Ай бұрын
what you mean like.... compiler extensions?????
@nescafezos4265
@nescafezos4265 Ай бұрын
@@tiranito3715 I dont know if you familiar with babel, a tool that parses javascript and able to transpile it from a newer/future JS language version to current version of javadcrpt that browsers can run today (ES6 or in some cases ES5 builds if you need to suppors older browsers). same thing with TypeScript, different language that can be transpiled to js. with babel there is a way to add babel plugins that add new syntax that can be supported in source code but it will be converted into standard js that browsers can understand to perform such operation. for example "..." spread operator, code can be transformed in a way it does not use spread, but manual assignment to variables. "let" keywords can be replaced to "var"-s for ES5 JS. I guess "classes" were available via transpilcation just using old prototype JS inheritance model. what I mean is any syntax sugar could be added just like that in between when comiler got AST tree and we can modify it. basically what magic solidJS does to support jsx templates. there is a good tool astExplorer astexplorer.net/ where you can write some js or ts or even tsx and see AST tree. my idea is to give a user the way to modify AST tree of the compiler before it gets converted to target code be it assembly or transiling to other language. this way can add lanuage features into a language if they are not too fundamental but just a nicer syntax to write things
@barbawillow8904
@barbawillow8904 4 ай бұрын
I think Linus is right, it's religious undertones, not philosophical like you said. When discussions heat up and lower passions toss aside rationality, you can't have argumetns, it's just a battle of believes. And thats religious fanatism in a nutshell
@rusi6219
@rusi6219 3 ай бұрын
That's ironically only true if you're indoctrinated into the post-modern liberal religion that defines terms in such a dishonest way
@MorningNapalm
@MorningNapalm 2 ай бұрын
vi vs. Emacs was minimalism vs. everything and the kitchen sink. There were people in university who would do everything inside Emacs, whereas vi users edited code in vi, and used the O/S and commandline for everything else.
@Xblow23
@Xblow23 4 ай бұрын
I admit, I thought "Squeal" for sql, "Gson" for json are kinda cute, but "Vy" for Vi is too much!!
@ThePrimeTimeagen
@ThePrimeTimeagen 4 ай бұрын
How about Vee?
@sealsharp
@sealsharp 4 ай бұрын
@@ThePrimeTimeagen Ah VEE, the visual programming environment for measurement devices.
@max_talks_42
@max_talks_42 4 ай бұрын
@@ThePrimeTimeagen It's "vee eye" you philistine.
@stevenhe3462
@stevenhe3462 3 ай бұрын
WTF this one is how people actually pronounce Vi… At least John Carmack does.
@NostraDavid2
@NostraDavid2 3 ай бұрын
​@@max_talks_42oh right, as if you pronounce it vee eye em. Vay and vim are great editors. Cope harder :3
@usershilov
@usershilov 4 ай бұрын
Ok the take at 6:50 is utter CRAP. Your philosophy is the method by which you contend with the human condition at the deepest level. Your philosophy should inform your religious views, your political views, and even the manner in which you relate to other human beings. Your philosophy dictates your deepest principles, it is how you ground out your beliefs. It is how you justify and understand your moral views. Equating philosophy with politics is absolutely disgusting.
@fastestdraw
@fastestdraw 3 ай бұрын
Politics reaches deep into the human brain because we have entire sections of the brain dedicated to its practice, providing data to the rest of the brain all the time. When we imagine our own mind we use the parts of our brain trained on modeling other people's, with all the training it has experienced baked in. I'd love if your take were right, but I don't think the view that philolosophy sits at the deepest level of human experience while politics doesn't is rooted in reality. Both massively shape your deepest principals, beliefs and moral views. Considering 'who we are' is not just the mechanical logic of a brain calculating philosophy but also the mechanical process of the brain that made us social animals doing politics and the emotional processes of an animal exploring the world. Putting them in the same category when examining how people interact with each other and the different ways they approach it seems fairly reasonable.
@usershilov
@usershilov 3 ай бұрын
@@fastestdraw Politics may be a more used pathway/network in the brain. I would expect as much on an average, but most people don't ground out their politics to morals and ethics to philosophy. Philosophy must be the underpinning of a thoroughly investigated worldview. It may take up less brain space, it may have less contact with your conversations, and your interactions with the world. From a reasoning perspective you politics `aught` to be derived soundly from philosophical principles. However I would say this is the case for 1-200 individuals if not less. Most people pick up policies and political alignment based on intuition, or they simply identify with an entire group or party. They align with a political party because that is who their friends and the people they look up to are aligned with. I would never expect a study on the human brain over an average population to reflect what I described above. I also role back the statement on how philosophy effects your relationships, the impact may be profound but likely because of second order effects. For example if your philosophy lead you to being an atheist while your family was very religious. This can have a major impact but again that impact isn't direct. I would also stray from saying that dedicated portions of the brain are used for politics. I think politics would occur in the same portions of the brain as most other higher order information processing. The PFC, the ACC, and a bunch of other places too. I would expect philosophy to use those exact same regions as well, except for some differences, I think philosophy would be more abstract thinking and politics would involve more social and emotional processing. In terms of brain function maybe politics would have more Amygdala use versus more DMN use for philosophy. However that is all very tentative speculation.
@fastestdraw
@fastestdraw 3 ай бұрын
​@@usershilov Agree on the brain region/function, we do have parts of our brain that seem highly correlated with imagining other minds and predicting their actions, but that is highly unlikely to be the only place in the brain that is happening or the only thing that region does. Couple with both language development and abstract thought appearing to be linked in our evolutionary history, and seperating out philosophy and politics gets even muddier, the comparison between them more apt. Most people aren't sitting around logically reasoning out a philosophy using the building blocks scholars use to describe the world- they are seeking out things and returning to raw experience to see what works - 'is an idea true when I use it in my hands.' The same process is going on with politics. This approach is both fundamentally collaborative, political, sits firmly in that second circle, and results in abstract reasoning derived soundly from the source of philosophical principal - experience. I can't argue that it isn't the practice of philosophy. It grounds out morals ethics politics and yes, philosophy, in a group basis. No man is an island, and neither is our understanding or reasoning. And most people have a deeply explored worldview that doesn't deserve dismissal or disgust because it fails to fit neatly into your world view. If only 1-200 people have done something accessable to 8 billion on the planet presently, I am inclined to think it is a sampling error. But I'm willing to hear out why this 'aught' to still be considered, compare that to my experience, and see if it seems both true and functional.
@usershilov
@usershilov 3 ай бұрын
@@fastestdraw First, I just want to clarify I meant 1 in 200 rather than 1 to 200 people. It is rather rare that people care about epistemology or philosophy. However logically if you question someone on a political view for example abortion. They would provide backing for this perspective by some underlying philosophy. For example by some intrinsic measure all human life deserves a right to life, therefore, abortion should be illegal. Or another who is pro-choice for the first trimester might argue that the rights of small cluster of cells isn't significant rather the collection of organs required to host a conscious human experience is what is valuable and should be protected so only first trimester abortions. You could keep asking for justifications and they would inevitable stall (person doesn't have a developed philosophical world view) or they would provide philosophical justifications. I shouldn't claim any knowledge on how many people have a deeply informed world view. In my experience which may be biased, people don't care, most of the people in my life, are accept a framework of belief from the people around them. I think independent thinkers are rare but on relative scales, there are plenty of us. That doesn't mean that we each should create our own philosophy from scratch, that certainly isn't the case from me. However I do think more people than do should thoroughly consider philosophy. You should have an idea of weather you're a materialist or not, and have some justification for that position, same goes for atheism versus theism. You should consider some of the classical questions of philosophy, and dedicate some time to considering them on your own, try to come up with some method with contending with them, some framework by which to approach them. This is an invaluable pursuit. I think philosophy is necessarily part of a well rounded education. Having explored that part of your worldview you can be much more sure in your positions you can be more confident in your beliefs, you avoid contradictions and cognitive dissonance. I don't think that equating politics with philosophy is disgusting, that was a very hyperbolic statement. I just think that a reasonable person would form their opinions based on some philosophy. I wouldn't say it is necessarily wrong to take the opposite approach; to circle back to the abortion argument maybe intuitively one side makes more sense to you. Then you investigate the the philosophical and moral implications. Based on that investigation you may find that your position has changed maybe not. Either way it is my belief that that investigation 'aught' to be done. I don't think people who have a surface level understanding of politics/philosophy deserve dismissal either. I don't think their political opinions shouldn't be as valuable. I don't think of it as a character flaw, more they don't have the same set of values/interests as me. I care about politics, I care about being able to justify my political positions. I don't care that much about music, and I don't think my position that Post Malone is the greatest artist of all time, should be considered valid. You mention - "seeking out things and returning to raw experience." What do you mean by that, are you saying people seek out bits and pieces of philosophy, which they apply to their daily life? In what ways might someone do that... btw do you have discord?
@gxtoast2221
@gxtoast2221 3 ай бұрын
If you don't understand Algebraic Data Types and their application in clarifying semantics in the data (and subsequently semantics in function design and application) it is difficult to appreciate one of the biggest benefits of Rust - which is also the biggest benefits of all languages that fully support Algebraic Data Types and data semantics.
@mmmhorsesteaks
@mmmhorsesteaks 4 ай бұрын
Freedom from anarchy vs Freedom from authority can be read in two totally different ways. English is just as bad as javascript; and used by about as many people.
@henningerhenningstone691
@henningerhenningstone691 3 ай бұрын
Whenever I hear bikeshedding, my inner eye produces the image of a dog that's shedding not its fur but rather bikes
@cat36942
@cat36942 4 ай бұрын
We've got software development racism before GTA 6 💀
@LubosMudrak
@LubosMudrak 4 ай бұрын
I legally declare that I am Rustist.
@jehannes1000
@jehannes1000 3 ай бұрын
we had that way before windows even existed. c was initially scoffed for being too high level by the assembly people
3 ай бұрын
Hey @ThePrimeTimeagen the article is misleading. Who left the Rust for Linux project and talked about "The Nontechnical Nonsense" was Wedson Almeida Filho (an MS engineer) but not Miguel Ojeda.
@ANONAAAAAAAAA
@ANONAAAAAAAAA 4 ай бұрын
The point of C is 'just enough abstraction of assembly languages'. I would say, C is DSL which generates assembly codes. Some people like driving MT cars while others like AT cars and that is what it is.
@dansanger5340
@dansanger5340 4 ай бұрын
That doesn't bode well for C. There was a time when there were still advantages to a MT. But now, the AT is better in every way. MT exists purely for nostalgia reasons.
@chaos.corner
@chaos.corner 4 ай бұрын
@@dansanger5340 They need to start putting them in cars then because every AT car I've driven has been a less compelling experience.
@12testmicro41
@12testmicro41 3 ай бұрын
@@dansanger5340 Not in every way : Automatic gears are more expensive, requires more maintenance, more material at creation. (And from the few I tried you can have big issues, in mountain roads, with engine breaking.)° Basically more complexity in whole lifecycle for so few benefits. In comparison, a oil car is way more complex than a steam car, but the benefits are enormous. Then could we compare C to a steam engine and Rust to a thermic engine ? (by the way, I let you wonder how the steam engine is crucial in our society and is involved in 15% of world total energy).
@erne75
@erne75 3 ай бұрын
​@@dansanger5340define "better"
@dansanger5340
@dansanger5340 3 ай бұрын
@@erne75 It's always been better in terms of convenience. Now, it's better in terms of fuel economy and acceleration. And, some car companies now even charge more for manual than automatic.
@xephael3485
@xephael3485 4 ай бұрын
What takes longer... learning RUST or learning how not to make security mistakes programming in C?
@Ytilee
@Ytilee 4 ай бұрын
"learning to not make mistakes" isn't really a thing though
@xephael3485
@xephael3485 4 ай бұрын
@@Ytilee your mistake was not making a point, as you're absolutely wrong
@RustIsWinning
@RustIsWinning 4 ай бұрын
I would say it takes longer for boomers to retire ♿️ Way too long...
@xephael3485
@xephael3485 4 ай бұрын
@@RustIsWinning Linus is not a boomer buddy
@johndoe2-ns6tf
@johndoe2-ns6tf 4 ай бұрын
@@RustIsWinning yes, you are way too long from your institution and meds. Go back, take your meds and rest.
@eugenevakulenko4229
@eugenevakulenko4229 3 ай бұрын
What’s the point of arguing if future operating systems are going to be made in JS framework #3541?
@Ulvhamne
@Ulvhamne 4 ай бұрын
RE: Linux competitor written in Rust taking over from Linux, no. Language a program is written in has virtually no impact on popularity. For something to overtake Linux, it needs to be better, and not just by a little, there is a threshold that is higher than "actually more for purpose", since there is a yuuuge amount of work to replace OSes, especially for early adopters that basically have to build supporting software as well.
@CoolestPossibleName
@CoolestPossibleName 4 ай бұрын
A lot of what Linus says now-a-days doesn't make sense to me.
@Ulvhamne
@Ulvhamne 4 ай бұрын
@@CoolestPossibleName I honestly haven't kept up with what he says so I can't really say either way.
@allowambeBOWWAMB
@allowambeBOWWAMB 4 ай бұрын
what about all the 9028389023489023 drivers that have to be ported?
@pemifo260
@pemifo260 4 ай бұрын
@@allowambeBOWWAMByeah imho that’s the biggest problem. and i don’t understand what are we going to gain when we replace the C with Rust?
@allowambeBOWWAMB
@allowambeBOWWAMB 4 ай бұрын
@@pemifo260 It's a dead end. They would have to make a separate kernel with interface to C drivers that they can't keep up with
@JonathanFraser-i7h
@JonathanFraser-i7h 4 ай бұрын
"The most bike-shedding people possible, which is kernel developers" Have you met frontend devs????? Like they spend half their time talking which specific code of conduct to adopt. That is the epitome of bike shedding, it has absolutely nothing to do with code or code performance and guess what everyone has an opinion.
@gnagyusa
@gnagyusa 4 ай бұрын
7:50 : Rust's "freedom through authority" is an oxymoron and it sounds a whole lot like: "freedom is slavery" from 1984.
@henningerhenningstone691
@henningerhenningstone691 3 ай бұрын
Accomplished C-developer: "I am a master, I know what I'm doing and I need no guardrails" Accomplished Rust-developer: "I acknowledge that humans make mistakes and I am human"
@fRutrn
@fRutrn 3 ай бұрын
@27:00 if they have the tooling for checks how much would it take to bundle it up and make it into a C spinoff language with those checks by default?
@Noble_Savage
@Noble_Savage 4 ай бұрын
Whether Rust or not, it was a damn moronic decision to bring another language into the kernel. Mixing languages on a project is always a terrible idea, so yes this will fail.
@RustIsWinning
@RustIsWinning 4 ай бұрын
My guy has never heard about Android LOL 😂
@Daktyl198
@Daktyl198 4 ай бұрын
Bindings are nothing new, and Rust can interface with C fairly easily. The only thing is that the developer writing the bindings needs to know both what is needed on the Rust side and the C side. And when the kernel is undocumented kernel-C (special variant of C with extra shit) that has like, 25 layers of abstraction functions before you actually see what something does... sometimes you gotta just ask somebody who knows what it does first before wasting time working it out for yourself.
@zzrroott6459
@zzrroott6459 4 ай бұрын
​@@RustIsWinning android 😂
@zzrroott6459
@zzrroott6459 4 ай бұрын
Internet experts think that they know better than linux kernel devs. Its amusing. The anger against rust is completely justified
@RustIsWinning
@RustIsWinning 4 ай бұрын
@@zzrroott6459 Says the internet expert 🤡 himself. Ironic 🤣🤣🤣
@jackOfAllTrades93
@jackOfAllTrades93 4 ай бұрын
So many libraries and techniques were already developed in the Linux code base to address unsafe scenarios in C. It would be an enormous time investment to re-write all of that and I just don’t see value add in doing so.
@techpriest4787
@techpriest4787 4 ай бұрын
Regarding Anarchism vs Authoritarian. Even in the Rust community you find that drama. Like Safe Code vs Unsafe Block. I am no web dev but I came across a web crate discussed drama that even made the mainteiner quit because some wanted more safe code than umsafe blocks. I am also not a speed demon myself and more on the safe code side.
@pemifo260
@pemifo260 4 ай бұрын
well we have dangerouslySetInnerHtml
@logemii
@logemii 4 ай бұрын
True, it seems to me that a lot of people in the rust community are so obsessed with "safety" and "correctedness" that it can get unhealthy sometimes. I feel like there are two kinds of safety, one that is proved by the compiler, and one that is proved by the developer, and it happens quite often that the compiler cannot prove that a certain behaviour is safe, but a developer can with logic, and its perfectly fine to use a safe abstraction over unsafe code in this case, ive done it myself a few times in performance critical applications even though i try to stay away from it, but a lot of people seem to get really hurt by this. maybe they think the compiler is the all knowing oracle - w - (which i wish it was due to the amount of time it takes for it to run)
@Daktyl198
@Daktyl198 4 ай бұрын
The issue there is between an experienced Rust developer and an inexperienced one. For some reason, inexperienced developers have this idea that code written in an unsafe block is faster "because it's not checked" but that's not true. The checking happens at compile-time, not during runtime. Code run inside of "unsafe" is not faster, it's merely meant to do things the language would otherwise yell at you for... like creating bindings for unsafe languages like C. There should be very, very few reasons to use the unsafe block in your code unless you're interfacing with other languages.
@techpriest4787
@techpriest4787 4 ай бұрын
@@Daktyl198 true. In the Rust forum one made a survey regarding who uses unsafe block for performance. It came as a shock to me that indeed few even do that for performance. But I am still rather new to Rust myself. The up coming Borrow Checker 2.0 will need even fewer unsafe blocks.
@logemii
@logemii 4 ай бұрын
@@Daktyl198 well technically unsafe blocks do allow you to bypass some runtime checks, for example, bound checks on slice accesses, which normally would panic if theyre out of bounds, but instead with .get_unchecked results in undefined behaviour, reducing branching, but optimizations made possible by using unsafe blocks are usually not of this kind, it happened once in my case that the compiler couldnt prove the lifetimes of my *very expensive to clone* data, but i could. though, it doesnt seem right to me that even inexperienced rust devs think that the actually expensive checks are done in runtime, the whole point of the language is doing a lot of compile time safety checks
@Wave_Commander
@Wave_Commander Ай бұрын
17:30 I don't think Firefox "gave up" on Servo. My understanding is that Rust's entire existence is owed to engineers at Mozilla wanting something other than C++ for the future development and maintenance of Firefox. I believe that Servo was a proof of concept/MVP project to forge Rust as a language. Servo is actually seeing some active maintenance managed by The Linux Foundation as a lightweight embeddable browser like embedded Chrome CEF, but the binaries do seem really large. I don't know how small an "embedded web browser" should be. I guess
@JJJMMM1
@JJJMMM1 4 ай бұрын
The religion analogy: some people believe what they believe regardless of arguments or evidence. That's definitely going on here.
@jazzochannel
@jazzochannel 3 ай бұрын
How many Primeagens does it take to unleash complete chaos?
@32zim32
@32zim32 4 ай бұрын
Linux is really messy in terms of architecture. This is like making changes in huge legacy monolith. It's very hard
@greg_land
@greg_land 4 ай бұрын
No it's actually not which is why the rust developers are having issues. The only solid boundaries that exist are at userspace. Those are the only sacred boundaries. Everything else is up to be restructured as necessary. I think this is at its core why the rust developers are having so much issue. The language almost requires an unchanging set of interfaces to build upon but the kernel is always changing internally by necessity.
@32zim32
@32zim32 4 ай бұрын
@@greg_land I don't understand this point. Maybe rust developers want some additional guarantees. Because I am sure that right now they also have some dependencies because in the end of the days all components need to interact somehow and communicate with each other. They can't be totally independent from each other or some kernel interfaces
@Daktyl198
@Daktyl198 4 ай бұрын
@@greg_land You... literally just described the messiest system ever immediately after saying the kernel is not messy lmao. And you act like Rust can't be "fluid". The issue isn't Rust types or "hard boundaries", the issue is simply that the existing Kernel C code is hard as hell to parse manually if you're not familiar with it. Normally maintainers help people by explaining what each function does. They refuse to do that with the Rust devs, forcing the rust devs to manually parse it to write the bindings. Bindings against C code are fairly easy to write and maintain, as long as you know what data the C functions expects/returns. Keeping the bindings up to date would be trivial if the C code was documented.
@paklenizmaj
@paklenizmaj 3 ай бұрын
Yes, I had a memory leak in Java. I forgot to clear my list and on top of that I had the worst performance degradation (loop through a list full of already processed data, it's a nightmare). Next, I mainten some software where after longrun gc free a wrong memory segment and couse whole aplication to crash. This memory shoud stay still and safe, but it doesn't somehow. All software (and hardware) can contain bugs. Just remember, compilers are sowtware too. Remember also: There is no thing that will protect you from your own madness.
@_Safety_Third_
@_Safety_Third_ 4 ай бұрын
They should just rewrite in Perl 6
@JMurph2015
@JMurph2015 3 ай бұрын
For what it's worth, around 2017/2018, Linus took a sabbatical to work on his communication style, and since then he's been much more diplomatic in his criticism! Respect where it's due, he got called out for a toxic communication style, acknowledged the issue, and then made a change!
@ZombieLincoln666
@ZombieLincoln666 3 ай бұрын
I’m gonna assume it was more about his personal relationships
@iddqd2048
@iddqd2048 4 ай бұрын
Two most toxic communities together. What can go wrong? No comment ninja vs we don’t have lib for this but your code is memory safe …
@michaelutech4786
@michaelutech4786 4 ай бұрын
I find it easy to categorize confrontations as healthy or unhealthy. Any confrontation that increases the level of understanding of one or both parties is likely to be healthy. The example in which Linus labels code as crap that uses ENOENT as result of an operation working on opened and thus existing files may not be polite, but as much as crap is a useful metaphor for a certain kind of code, this is it. It might be unnecessarily aggressive, but it illustrates how little this code cares for meaningful error messages, something a lot of developers will eventually suffer from. Without Linus' abrasiveness, this suffering might not have been given a voice where it matters. Confrontations about preferences are rarely healthy, because preferences are rarely a result of misunderstandings. Whether you prefer Emacs or VI can be rooted in how you work with your computer, what you do, whether your hands are sensitive to damage from certain movements or just a personal sense of aesthetics. A confrontation about which is better is meaningless if there are no objective quality criteria. I like Linus' confrontational style, assuming that he would back down if he would be in error. I don't know if he does though. I would not like to be on the receiving end of Linus' criticism, but if the mistake was mine, I would appreciate the help and learn. Otherwise I would bark back and loose on a kernel mailing list. That's life and not the worst part of it.
@hexagone5808
@hexagone5808 4 ай бұрын
They should just continue using C imo. And the Rust lovers should make their own kernel, OS or whatever, everyone happy!
@RustIsWinning
@RustIsWinning 4 ай бұрын
Too late. I'm an angry crab.
@haariger_wookie5646
@haariger_wookie5646 3 ай бұрын
„C Developers will not just turn around and learn Rust“ but nobody is asking them to… they are asked just to talk with the people that can write Rust so the C parts and the rust parts can better work together.
@janmkubalek
@janmkubalek 3 ай бұрын
That's not true. What you change, as a C programmer, abstraction on FS subsystem you need to go and ensure all places work as expected. And if the same parts are written in different languages you need to learn a new prg lang because you need to repair all the places not only the C related...
@TroubledTrooper
@TroubledTrooper 4 ай бұрын
There is no drama, it's C programmers who hate commenting their code that are paranoid that Rust will replace them and there is literally no indication of this. Linus has said in Vienna recently IIRC that Rust is an experiment and that he is fully open to going back if it fails, he does not think it has failed. I agree with him.
@Leonhart_93
@Leonhart_93 4 ай бұрын
I could say exactly the same thing about the rust junkies trying to worm their way in somewhere where they are guests and then throw a tantrum because they aren't catered to.
@morkallearns781
@morkallearns781 4 ай бұрын
@@Leonhart_93”guests“ hahaha yall are the worst kind of people to work with
@Leonhart_93
@Leonhart_93 4 ай бұрын
@@morkallearns781 Good. Who says I want to be welcoming or anything? If I want help I will ask for it.
@michaelbuckers
@michaelbuckers 4 ай бұрын
If you gonna make another one-dimensional argument you gonna get banned.
@rmidifferent8906
@rmidifferent8906 4 ай бұрын
​@@Leonhart_93It's so bad that someone tries to add a systemic way to enforce rules that even kernel devs break - look at the linus note to dev trying to use error outside of where it should happen(in this video at the beginning). If it wasn't caught by Linus it would probably be another special case to be remembered... By that logic from now on no one should complain about Rust in the kernel because Linus said that Rust is ok, therefore inviting it and asking for contributions.
@Musikur
@Musikur 3 ай бұрын
I think the heart of the comment about Linux vs Unix wasn't FOSS vs Closed Source, it was more that if enough people think that it is too difficult to get the features or fixes they want for Linux through the bureaucracy of Linux, they will go and move to somewhere else where they can get those features. Whether that is true or not, remains to be seen, the friction to create a new OS kernel is obviously pretty huge, so there would need to be a lot of discontent. That being said, as Prime pointed out, with Docker and so on, its probably a lot easier to get traction now than when people had to literally install your software on a machine.
@SamualN
@SamualN 3 ай бұрын
5:28 "perked out of your mind" is it bad that I originally thought he was talking about percocet? may or may not have binged all of the class of 09s recently
@reatcas
@reatcas 3 ай бұрын
Do you want to prove that Linux is better in Rust? Just do it and call it a day. That's my philosophy, I think the ones ruining the project are the dogmatic devs from both sides, they forgot that science, the backbone of our society is more important than their careers
@erne75
@erne75 3 ай бұрын
Science is NOT the backbone of society.
@toby9999
@toby9999 4 ай бұрын
C is not chaos or anarchy. C is a language that might permit chaos, but on its own, it does nothing. Some developers are creating chaos. I don't accept that as a good reason to dump a language.
@ryleitdept
@ryleitdept 4 ай бұрын
modern C++ is the way to go for modern Linux kernel 💪🍤
@cobrab1978
@cobrab1978 4 ай бұрын
Linus not like C++
@ensuretime
@ensuretime 3 ай бұрын
@@cobrab1978 c++ developers don't like c++, life is a confusing symphony
@username7763
@username7763 3 ай бұрын
Yeah I'm laughing at this rust thing because how terribly Linus handled C++. Adopt an ISO standard language with multiple vendors that has facilities for helping write low-level code without incurring a performance or memory cost and still is compatible with C? No, that'd be crazy. But adopt a language owned and run by a single organization that has a single compiler that does add performance costs and requires special bindings to work with C? Sure why not!
@panjak323
@panjak323 3 ай бұрын
​@@username7763best part is, they could have just taken C++, strip it down from unneeded features (so it still looks like C/C++), optimize it for kernel use and call it a L language or whatever. Both C and C++ programmers would be happy.
@ryleitdept
@ryleitdept 3 ай бұрын
@@username7763 We hate mono cultures, it doesn't scale without any competition. 🤣
@StellyITA
@StellyITA 2 ай бұрын
I think, when he siad "religious", he meant that some people simply seems to have only "faith" in their language of choice and don't think too much about it. Btw, I am very curious to hear which anarchic community you found to be chaotic. The one I saw myself were, more often than not, better organised than modern society (yeah, it's easier to be organised when you live in a small community, I know, but still)
@mattymattffs
@mattymattffs 4 ай бұрын
Damn, three chats going at once. Insaneo style
@ramakrishnanj3472
@ramakrishnanj3472 4 ай бұрын
he only looks at twitch
@JuusoAlasuutari
@JuusoAlasuutari 3 ай бұрын
I don't know what you're on about implying Torvalds is abrasive. He's the least direct Finnish person.
@TakinProfit
@TakinProfit 4 ай бұрын
Zig is that happy medium between C and Rust.
@CoolestPossibleName
@CoolestPossibleName 4 ай бұрын
and is simple
@HappyUnrealCoder
@HappyUnrealCoder 4 ай бұрын
That is c++ really.
@skuwamy
@skuwamy 4 ай бұрын
oh no! zig is just another C hahaha
@RustIsWinning
@RustIsWinning 4 ай бұрын
Not the Zigooners again 😂
@johndoe2-ns6tf
@johndoe2-ns6tf 4 ай бұрын
@@RustIsWinning not the rust for brains again.
@AScribblingTurtle
@AScribblingTurtle 3 ай бұрын
Ironically, Apple was trying the whole Web-Pages as Applications spiel, long before others did, and now they are the ones behind the times. Yes, Safari is the IE of modern times. The fact that, on mobile devices, Apple is allowed to enforce certain Web-Dev standards to Safari only is a tragedy. It holds mobile Web-App development back by like a decade and devs have to spend extra time and money, just to overcome apples stubbornness.
@luiss.3960
@luiss.3960 4 ай бұрын
Big ass projects on Rust: - Servo - WASI - Tauri - Firefox (progressively increasing the share of the code) - Deno - Sway (Web3) - Fuel core - Pingora (used in Cloudflare) - Zed (multiplayer text editor) - SurrealDb (munlti-paradigm database) - Sonic (search db) - Cube (data application) - fnm (fast node manager) - biome (old rome tools) - dioxus (fullstack framework) - gleam (functional programming EVM language) - helix (neovim succesor) - neon (serverless postgress) - OpenGMK (open source GameMaker engine) - wasmtime (WASM runtime on top of cranelift) - firecracker (microVMs used for AWS Lambda)
@thanosfisherman
@thanosfisherman 4 ай бұрын
You forgot wgpu
@unknownblueguy6768
@unknownblueguy6768 4 ай бұрын
And COSMIC
@roan1366
@roan1366 4 ай бұрын
Bevy the game engine! (Nice list, it's almost like he's saying here that Rust is behind Zig in project count)
@FathDaniel
@FathDaniel 3 ай бұрын
@@roan1366 If you don't double-check everything Prime says, are you really listening to what he said?
@xomiachuna
@xomiachuna 3 ай бұрын
Huggingface and vllm use rust heavily (local llm inference)
@hansdampf2284
@hansdampf2284 3 ай бұрын
11:11 yes, but no. C is easier to learn at first, but that is only because C includes a bare minimum what you can call a language. The kernel built a ton of things around this language to make it more safe and usable. If you also have to learn this, then it’s a different story.
@meryplays8952
@meryplays8952 4 ай бұрын
The last week I wonder if the usefulness of Rust comes from the lack of code quality and release standards in C codebases (C++ is unsalvageable IMHO). Dlang- betterC for example, that adds more code quality things, like unit tests and contracts and is more conservative and not that radical could be a better choice. Disclaimer: Please don't shoot me. In this respect the Rust vs C is religious problem
@taatuu25
@taatuu25 4 ай бұрын
C isn't inherently memory safe and is very hard to make truly memory safe. Sure, it /can/ be done, but the only pre-existing implementations are special compilers with other downsides that I believe make them unsuitable for many use cases - while D is just not popular enough
@meryplays8952
@meryplays8952 4 ай бұрын
@@taatuu25 That is why I believe D can help. It reuses C skill, it is more memory safe, you have more tools, no headers, and for some high-level parts, not performance sensitive, why not use the GC? Even higher level concepts could be better served by some other language.
@AM-yk5yd
@AM-yk5yd 4 ай бұрын
C++ has the best tests mechanism from all I've seen: Catch2 (has nothing to do with exceptions). Traditional test frameworks and mechanisms are not even close. There was a port of Catch to rust, but, surprise-surprise, it didn't work with async funcs.
@meryplays8952
@meryplays8952 4 ай бұрын
@@AM-yk5yd All the times I tried to approach C++ I was discouraged by its complexity.
@computernerd8157
@computernerd8157 4 ай бұрын
Lol, You guys really just suck at C++, which means people just hate change. Replace Rust with C++, or another (imaginary languange that is as fast C) and they still would be mad most likely.
@AndrewEsh
@AndrewEsh Ай бұрын
The two original killer features of Linux were FOSS, and Gnu compatibility. At the time the only way to get Unix was to buy an expensive workstation and pay the maintenance fees. You could get Gnu tools for free, but you had to have the workstation. Linux turned a simple PC into the workstation, and didn't charge you to do it. Everyone had a PC, so all you had to do was dual boot. Then you had your Unix workstation with Gnu tools on it. No more SunOS, Solaris, NeXT, Mac U/X, Xenix or Irix needed. No need to by a Sparc 5, NeXT Cube or SGI O2. Instead, we had freedom.
@pablolocles9382
@pablolocles9382 4 ай бұрын
Why do people think that chaos is bad? They are not used to freedom to handle it.
@orbik_fin
@orbik_fin 4 ай бұрын
My go-to argument as a child when mom told me to clean my room.
@hanswoast7
@hanswoast7 4 ай бұрын
For me chaos is a place of huge potential both good and bad that is missing information, missing understanding and has mostly unpredictable outcomes. "Handling chaos" then means creating some order that works for you while leaving the biggest part still in chaos. It is a form of minimum adhoc order.
@Rod-f6m
@Rod-f6m 4 ай бұрын
chaos is a ladda
@dansanger5340
@dansanger5340 4 ай бұрын
Because they've experienced mentally ill, substance-abusing homeless people acting out on public transit, and don't agree that it's the nirvana that some people make it out to be.
Rust is Not C
16:24
ThePrimeTime
Рет қаралды 203 М.
Stop Celebrating Incompetence
21:19
ThePrimeTime
Рет қаралды 345 М.
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
Linus Torvalds: Speaks on Hype and the Future of AI
9:02
SavvyNik
Рет қаралды 312 М.
The Latest Celebrity Tech Scam…
19:21
Linus Tech Tips
Рет қаралды 1,2 МЛН
Linux Kernel 6.12 | This is Historic
1:07:22
Maple Circuit
Рет қаралды 128 М.
Why Linus Torvalds Insults People | Prime Reacts
17:53
ThePrimeTime
Рет қаралды 366 М.
Why we can't focus.
12:45
Jared Henderson
Рет қаралды 1,5 МЛН
this Linux feature makes hacking IMPOSSIBLE
11:08
Low Level
Рет қаралды 579 М.
what is wrong with rust and linux????
57:15
ThePrimeTime
Рет қаралды 215 М.
The PirateSoftware Situation Is Sad
26:05
PyroLIVE
Рет қаралды 1,3 МЛН
Why Are We Not Talking About This?
46:21
ThePrimeTime
Рет қаралды 107 М.
why rust libraries may never exist.
7:26
Low Level
Рет қаралды 293 М.
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН