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
@geek21454 ай бұрын
You really stepped on a landmine with this one lol.
@rumplstiltztinkerstein4 ай бұрын
Takes a lot of patience to talk with so many developers in real time on-stream bro. That's very commendable.
@Hyp3rborean4 ай бұрын
Is miss spoke hot? Let's go
@hackbinary4 ай бұрын
Lucid Emacs charged in the beginning.
@unpythonic4 ай бұрын
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 ;)
@tirushone64464 ай бұрын
You know it's time to stop when linus says the argument is becoming to toxic
@TheGreatRepeller3 ай бұрын
When people say the word "toxic" is when the argument actually ENDS not begins silly pathetic millennial.
@naturallyinterested75694 ай бұрын
If JS is abstract chaos, Java is AbstractChaosFactoryProviderSingleton
@gneryze4 ай бұрын
goddamn right on the spot joke right there
@liegon4 ай бұрын
It's funny, but aren't Singleton and Factory as well as Abstract mutually exclusive?
@BeatsByYari4 ай бұрын
@@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.
@liegon4 ай бұрын
@@BeatsByYari Okay wow, thank you. Seems super unnecessary.
@CeePritch4 ай бұрын
@@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.
@arcaneminded4 ай бұрын
If Torvalds wasn't the way he is, then Linux would be a terrible experience.
@gfixler4 ай бұрын
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.
@ryoukaip4 ай бұрын
true
@NGC14334 ай бұрын
This is deep sarcasm, right? RIGHT???
@TroubledTrooper4 ай бұрын
And that's why I am petrified as to what will happen once he passes/retires...
@kayakMike10004 ай бұрын
@@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.
@Novascrub4 ай бұрын
he doesn't mean religious as philosophical, he means religious as dogmatic
@Jabberwockybird4 ай бұрын
Bikeshedding with the analogies
@UnidimensionalPropheticCatgirl4 ай бұрын
@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.
@Zeocins4 ай бұрын
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.
@Jabberwockybird4 ай бұрын
@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.
@maimee14 ай бұрын
@@Jabberwockybird I think critique of dogmatism exists purely because people exist outside of it?
@YTacc-n44 ай бұрын
why not just use python?
@fz_lyu4 ай бұрын
for what?
@milanmolnar38204 ай бұрын
Best ragebait
@cyanlight74 ай бұрын
Good joke, the door is right there
@SorinSilaghi4 ай бұрын
RUN! :)))))
@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.
@lineshawn48194 ай бұрын
"the most bikeshedding group of people which is kernel development" Prime clearly hasn't seen any of the Wayland protocol discussions
@jamess.24914 ай бұрын
Nah Wayland dev is such a shit show 😂
@Kane01234 ай бұрын
Are they discussions or debates? I think we need to be sure not to misrepresent the kind of communication taking place
@siamesestormtrooper3 ай бұрын
6:25 Telling Linus Torvalds what he actually meant to say is pretty ballsy for a guy who can’t read 👀
@NostraDavid23 ай бұрын
Boom, roasted!
@TheHackysack3 ай бұрын
ha
@thetj82433 ай бұрын
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
@siamesestormtrooper3 ай бұрын
@@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
@tapwater4242 ай бұрын
@@siamesestormtrooper Actually his first language is Swedish, even though he is a Finn, which might explain why he had to learn English so well.
@krumbergify4 ай бұрын
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.
@dc4434 ай бұрын
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.
@dannyarcher63704 ай бұрын
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.
@71Jay173 ай бұрын
@@dc443 its perfectly fine.
@Anriuko3 ай бұрын
2025 the year of Hurd desktop.
@loicjeannin62333 ай бұрын
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.
@swedishpsychopath87954 ай бұрын
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!
@comradepeter874 ай бұрын
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.atomic81774 ай бұрын
Truly a psychopath
@allowambeBOWWAMB4 ай бұрын
on error resume next - will never crash
@PalladinPoker4 ай бұрын
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.
@swedishpsychopath87954 ай бұрын
@@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?
@charlesbcraig4 ай бұрын
Prime: Making an OS takes many many people and many many years Terry Davis: *enters the chat* (from heaven)
@nezu_cc3 ай бұрын
Re-write Linux in HollyC. With the power of god on your side, it has to be safer than Rust.
@UnidimensionalPropheticCatgirl3 ай бұрын
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.
@charlesbcraig3 ай бұрын
@@UnidimensionalPropheticCatgirl how dare you
@snesmocha2 ай бұрын
@@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
@tapwater4242 ай бұрын
@@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_SMH4 ай бұрын
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.
@mrlazda3 ай бұрын
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_SMH3 ай бұрын
@@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.
@mrlazda3 ай бұрын
@@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_SMH3 ай бұрын
@@mrlazda can the pointer be null. What are the expected values for parameters.
@mrlazda3 ай бұрын
@@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.
@caerphoto4 ай бұрын
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.
@seanwoods6474 ай бұрын
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.
@dc4434 ай бұрын
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-q9w4 ай бұрын
@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
@dasten1234 ай бұрын
No way anybody who is competent would claim that C is easy to learn
@yearswriter3 ай бұрын
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.
@OneGodHand4 ай бұрын
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.
@AlexAegisOfficial4 ай бұрын
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.
@rmidifferent89064 ай бұрын
@@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
@PiotrPavel4 ай бұрын
@@CommanderRiker0 there is RedoxOS but a lot of modern stuff wouldint work
@computernerd81574 ай бұрын
The world can survive if Linux dies, just like it did when Unix went away.
@UnidimensionalPropheticCatgirl4 ай бұрын
@@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.
@SuperSampling4 ай бұрын
@@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.
@KelvinShadewing4 ай бұрын
Me binding every function in Linux to Squirrel so I can replace bash scripts with nuts.
@Jabberwockybird4 ай бұрын
Does it use Squirrely braces?
@black-snow3 ай бұрын
Deez Nuts
@RustIsWinning3 ай бұрын
@@KelvinShadewing LOL the classic .🌰 files :D
@michaldivismusic3 ай бұрын
That's just nuts!
@seanwoods6474 ай бұрын
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.
@meanmole32124 ай бұрын
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]
@Daktyl1984 ай бұрын
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.
@wetter42934 ай бұрын
@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?
@cyberpunkspike4 ай бұрын
@@wetter4293 Nope, C just did what it does and didn't need zealots shoveling it down everyone's throats.
@cyberpunkspike4 ай бұрын
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.04 ай бұрын
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
@aibrainlet80414 ай бұрын
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
@yjlom4 ай бұрын
@@aibrainlet8041so that's a woosh
@aibrainlet80414 ай бұрын
@@yjlom ??
@yjlom4 ай бұрын
@@aibrainlet8041 en.m.wikipedia.org/wiki/Joke
@_start4 ай бұрын
@@yjlomthat indeed wasn't a woosh sir
@exotic-gem4 ай бұрын
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.
@melodyogonna3 ай бұрын
Who is talking about switching?
@chrboesch4 ай бұрын
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.
@RustIsWinning4 ай бұрын
Cool. It is still memory unsafe tho 😂
@Daktyl1984 ай бұрын
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.
@UnidimensionalPropheticCatgirl4 ай бұрын
@@RustIsWinning so is “safe” rust, thanks to all the UBs surrounding closures and lifetime expansion.
@antoniong43804 ай бұрын
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.
@toby99994 ай бұрын
@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.
@ShootingUtah4 ай бұрын
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!
@Daktyl1984 ай бұрын
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.
@71Jay173 ай бұрын
"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."
@rowbart30953 ай бұрын
@@71Jay17 references and nullability is perfectly fine, i'm not sure how people struggle with it so much
@JanMagnusson724 ай бұрын
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.
@rmidifferent89064 ай бұрын
@@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
@ythanzhang4 ай бұрын
@@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.
@kyrylmelekhin26674 ай бұрын
@@CommanderRiker0W take.
@aaaaaaaaaaaaaaaaaa-p5t4 ай бұрын
@@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.
@McZsh4 ай бұрын
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.
@magnusm44 ай бұрын
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.
@joseoncrack4 ай бұрын
Agreed.
@alietexpositogarcia89794 ай бұрын
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...
@Euphorya4 ай бұрын
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.
@ponocni14 ай бұрын
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.
@sirtobi60064 ай бұрын
Chaos is not Anarchy, it is Anomy. Anarchy is order but without a Ruler. Anomy is chaos without a Ruler.
@Oler-yx7xj4 ай бұрын
"Torvalds doesn't get it: Rust isn't a religion, it's a philosophy" - The Primeagen 2024
@DataPastor4 ай бұрын
Its a cult. Cargo Cult.
@seanwoods6474 ай бұрын
@@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.)
@mmmhorsesteaks4 ай бұрын
@@DataPastorI always assumed that was the joke tbh ...
@pnk-q9w4 ай бұрын
@stysner4580 they call rust a cult then blindly defend their favorite language, its really funny to watch
@hanro504 ай бұрын
I'd say this. Linus is mean, but not toxic. Which I think is the aspect some people miss.
@hungrymusicwolf4 ай бұрын
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.
@CoolestPossibleName4 ай бұрын
@@hungrymusicwolf Man, I'm a foolish guy all the time
@rusi62193 ай бұрын
@@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.
@ZombieLincoln6663 ай бұрын
@@hungrymusicwolfit’s not necessary
@hungrymusicwolf3 ай бұрын
@@ZombieLincoln666 Found the example!
@brssnkl4 ай бұрын
You can still make memory problems in javascript
@theairaccumulator71443 ай бұрын
Yes, even Prime made a video on it. It's ridiculously easy to leak memory with globals in JS.
@Vinoyl4 ай бұрын
Let's go more linux drama
@jgndev3 ай бұрын
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.
@araarathisyomama7874 ай бұрын
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.
@chizuru19994 ай бұрын
same. love hate relationship
@pnk-q9w4 ай бұрын
@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
@Alysonhower2 ай бұрын
Wrap everything with unwrap() or expect("this should work, good look debugging it, bye") and you're done.
@stevenhe34623 ай бұрын
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.
@godDIEmanLIVE3 ай бұрын
Would you mind elaborating on this point? How can the compiler help by knowing something is a German string? Thanks!
@valhalla_dev3 ай бұрын
intelligent people talking about anarchism without ever having done deep reading on anarchism always makes me sad
@suede__4 ай бұрын
They should name this the "Blue Hair War" (for those that remember when their grandma had blue hair)
@therealmccoy72214 ай бұрын
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.
@RustIsWinning4 ай бұрын
So many tools, mitigations and static analyzers and yet you still end up with critical CVEs LOL
@DrMorax4 ай бұрын
@@RustIsWinningRust community is a cult
@adibemaxwell61114 ай бұрын
@@RustIsWinning No programming language is perfect, not even Rust.
@UnidimensionalPropheticCatgirl4 ай бұрын
@stysner4580 vulnerabilities in the kernel are rarely related to memory bugs and even more rarely to the ones rust manages to prevent.
@rmidifferent89064 ай бұрын
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.
@1n4f4bl33 ай бұрын
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.
@BlackAsLight4483 ай бұрын
If Bun is a large project in Zig then Deno is a large project in Rust.
@Adowrath3 ай бұрын
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.
@godDIEmanLIVE3 ай бұрын
If you don't mind, can you elaborate on the specific things a compiler can do knowing a string is in German? Thanks!
@mattymattffs4 ай бұрын
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
@LeFlamel4 ай бұрын
Sshhh let them strawman, it's their only way to cope.
@DeviRuto4 ай бұрын
They never had to before. Spit and a prayer has always been enough after all
@boccobadz4 ай бұрын
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.
@DeviRuto4 ай бұрын
Reading the C code does not lead to the definition of the behavior, because C has UB.
@flarebear53464 ай бұрын
What kind of argument is this? Rust also has UB, every programming language has UB.
@robfielding85663 ай бұрын
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.
@ZombieLincoln6663 ай бұрын
C has tons of tools for that
@robfielding85663 ай бұрын
@@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.
@Qohist4 ай бұрын
I use javascript to make drivers
@Jabberwockybird4 ай бұрын
I use css. COBOL style sheets
@Qohist4 ай бұрын
@@JabberwockybirdGood one
@JohnSmith-gu9gl4 ай бұрын
Will Prime ever do a tutorial for Rust, from beginner to expert?
@Lampe20203 ай бұрын
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.
@TheWahdude4 ай бұрын
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.
@stephenreaves32054 ай бұрын
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
@zfl19814 ай бұрын
C++26 is the modern C++.
@wqlee4 ай бұрын
The reason is that Zig doesn't have sufficient memory satefy mechanisms.
@rcoder014 ай бұрын
Zig wasn’t (and still probably isn’t) mature enough two years ago when they decided to adopt rust
@CoolestPossibleName4 ай бұрын
@@wqlee it's good enough imo
@kenneth_romero4 ай бұрын
@@wqleereally? i thought it was because andrew wanted to do breaking changes to the language still to get the syntax just right.
@ryangrogan68394 ай бұрын
big w take here, this is totally a philosophical argument on how software should be designed/written.
@phillipsusi17913 ай бұрын
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.
@Atomhaz4 ай бұрын
I love that low level learning is just in the chat, dropping truth bombs
@MarcelRiegler3 ай бұрын
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.
@carstenrasmussen11594 ай бұрын
This is Scandinavia couture we just Shit on each other and this just means Love
@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Ай бұрын
what you mean like.... compiler extensions?????
@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
@barbawillow89044 ай бұрын
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
@rusi62193 ай бұрын
That's ironically only true if you're indoctrinated into the post-modern liberal religion that defines terms in such a dishonest way
@MorningNapalm2 ай бұрын
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.
@Xblow234 ай бұрын
I admit, I thought "Squeal" for sql, "Gson" for json are kinda cute, but "Vy" for Vi is too much!!
@ThePrimeTimeagen4 ай бұрын
How about Vee?
@sealsharp4 ай бұрын
@@ThePrimeTimeagen Ah VEE, the visual programming environment for measurement devices.
@max_talks_424 ай бұрын
@@ThePrimeTimeagen It's "vee eye" you philistine.
@stevenhe34623 ай бұрын
WTF this one is how people actually pronounce Vi… At least John Carmack does.
@NostraDavid23 ай бұрын
@@max_talks_42oh right, as if you pronounce it vee eye em. Vay and vim are great editors. Cope harder :3
@usershilov4 ай бұрын
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.
@fastestdraw3 ай бұрын
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.
@usershilov3 ай бұрын
@@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.
@fastestdraw3 ай бұрын
@@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.
@usershilov3 ай бұрын
@@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?
@gxtoast22213 ай бұрын
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.
@mmmhorsesteaks4 ай бұрын
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.
@henningerhenningstone6913 ай бұрын
Whenever I hear bikeshedding, my inner eye produces the image of a dog that's shedding not its fur but rather bikes
@cat369424 ай бұрын
We've got software development racism before GTA 6 💀
@LubosMudrak4 ай бұрын
I legally declare that I am Rustist.
@jehannes10003 ай бұрын
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.
@ANONAAAAAAAAA4 ай бұрын
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.
@dansanger53404 ай бұрын
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.corner4 ай бұрын
@@dansanger5340 They need to start putting them in cars then because every AT car I've driven has been a less compelling experience.
@12testmicro413 ай бұрын
@@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).
@erne753 ай бұрын
@@dansanger5340define "better"
@dansanger53403 ай бұрын
@@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.
@xephael34854 ай бұрын
What takes longer... learning RUST or learning how not to make security mistakes programming in C?
@Ytilee4 ай бұрын
"learning to not make mistakes" isn't really a thing though
@xephael34854 ай бұрын
@@Ytilee your mistake was not making a point, as you're absolutely wrong
@RustIsWinning4 ай бұрын
I would say it takes longer for boomers to retire ♿️ Way too long...
@xephael34854 ай бұрын
@@RustIsWinning Linus is not a boomer buddy
@johndoe2-ns6tf4 ай бұрын
@@RustIsWinning yes, you are way too long from your institution and meds. Go back, take your meds and rest.
@eugenevakulenko42293 ай бұрын
What’s the point of arguing if future operating systems are going to be made in JS framework #3541?
@Ulvhamne4 ай бұрын
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.
@CoolestPossibleName4 ай бұрын
A lot of what Linus says now-a-days doesn't make sense to me.
@Ulvhamne4 ай бұрын
@@CoolestPossibleName I honestly haven't kept up with what he says so I can't really say either way.
@allowambeBOWWAMB4 ай бұрын
what about all the 9028389023489023 drivers that have to be ported?
@pemifo2604 ай бұрын
@@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?
@allowambeBOWWAMB4 ай бұрын
@@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-i7h4 ай бұрын
"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.
@gnagyusa4 ай бұрын
7:50 : Rust's "freedom through authority" is an oxymoron and it sounds a whole lot like: "freedom is slavery" from 1984.
@henningerhenningstone6913 ай бұрын
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"
@fRutrn3 ай бұрын
@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_Savage4 ай бұрын
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.
@RustIsWinning4 ай бұрын
My guy has never heard about Android LOL 😂
@Daktyl1984 ай бұрын
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.
@zzrroott64594 ай бұрын
@@RustIsWinning android 😂
@zzrroott64594 ай бұрын
Internet experts think that they know better than linux kernel devs. Its amusing. The anger against rust is completely justified
@RustIsWinning4 ай бұрын
@@zzrroott6459 Says the internet expert 🤡 himself. Ironic 🤣🤣🤣
@jackOfAllTrades934 ай бұрын
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.
@techpriest47874 ай бұрын
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.
@pemifo2604 ай бұрын
well we have dangerouslySetInnerHtml
@logemii4 ай бұрын
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)
@Daktyl1984 ай бұрын
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.
@techpriest47874 ай бұрын
@@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.
@logemii4 ай бұрын
@@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Ай бұрын
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
@JJJMMM14 ай бұрын
The religion analogy: some people believe what they believe regardless of arguments or evidence. That's definitely going on here.
@jazzochannel3 ай бұрын
How many Primeagens does it take to unleash complete chaos?
@32zim324 ай бұрын
Linux is really messy in terms of architecture. This is like making changes in huge legacy monolith. It's very hard
@greg_land4 ай бұрын
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.
@32zim324 ай бұрын
@@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
@Daktyl1984 ай бұрын
@@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.
@paklenizmaj3 ай бұрын
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_4 ай бұрын
They should just rewrite in Perl 6
@JMurph20153 ай бұрын
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!
@ZombieLincoln6663 ай бұрын
I’m gonna assume it was more about his personal relationships
@iddqd20484 ай бұрын
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 …
@michaelutech47864 ай бұрын
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.
@hexagone58084 ай бұрын
They should just continue using C imo. And the Rust lovers should make their own kernel, OS or whatever, everyone happy!
@RustIsWinning4 ай бұрын
Too late. I'm an angry crab.
@haariger_wookie56463 ай бұрын
„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.
@janmkubalek3 ай бұрын
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...
@TroubledTrooper4 ай бұрын
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_934 ай бұрын
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.
@morkallearns7814 ай бұрын
@@Leonhart_93”guests“ hahaha yall are the worst kind of people to work with
@Leonhart_934 ай бұрын
@@morkallearns781 Good. Who says I want to be welcoming or anything? If I want help I will ask for it.
@michaelbuckers4 ай бұрын
If you gonna make another one-dimensional argument you gonna get banned.
@rmidifferent89064 ай бұрын
@@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.
@Musikur3 ай бұрын
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.
@SamualN3 ай бұрын
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
@reatcas3 ай бұрын
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
@erne753 ай бұрын
Science is NOT the backbone of society.
@toby99994 ай бұрын
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.
@ryleitdept4 ай бұрын
modern C++ is the way to go for modern Linux kernel 💪🍤
@cobrab19784 ай бұрын
Linus not like C++
@ensuretime3 ай бұрын
@@cobrab1978 c++ developers don't like c++, life is a confusing symphony
@username77633 ай бұрын
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!
@panjak3233 ай бұрын
@@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.
@ryleitdept3 ай бұрын
@@username7763 We hate mono cultures, it doesn't scale without any competition. 🤣
@StellyITA2 ай бұрын
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)
@mattymattffs4 ай бұрын
Damn, three chats going at once. Insaneo style
@ramakrishnanj34724 ай бұрын
he only looks at twitch
@JuusoAlasuutari3 ай бұрын
I don't know what you're on about implying Torvalds is abrasive. He's the least direct Finnish person.
@TakinProfit4 ай бұрын
Zig is that happy medium between C and Rust.
@CoolestPossibleName4 ай бұрын
and is simple
@HappyUnrealCoder4 ай бұрын
That is c++ really.
@skuwamy4 ай бұрын
oh no! zig is just another C hahaha
@RustIsWinning4 ай бұрын
Not the Zigooners again 😂
@johndoe2-ns6tf4 ай бұрын
@@RustIsWinning not the rust for brains again.
@AScribblingTurtle3 ай бұрын
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.39604 ай бұрын
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)
@thanosfisherman4 ай бұрын
You forgot wgpu
@unknownblueguy67684 ай бұрын
And COSMIC
@roan13664 ай бұрын
Bevy the game engine! (Nice list, it's almost like he's saying here that Rust is behind Zig in project count)
@FathDaniel3 ай бұрын
@@roan1366 If you don't double-check everything Prime says, are you really listening to what he said?
@xomiachuna3 ай бұрын
Huggingface and vllm use rust heavily (local llm inference)
@hansdampf22843 ай бұрын
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.
@meryplays89524 ай бұрын
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
@taatuu254 ай бұрын
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
@meryplays89524 ай бұрын
@@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-yk5yd4 ай бұрын
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.
@meryplays89524 ай бұрын
@@AM-yk5yd All the times I tried to approach C++ I was discouraged by its complexity.
@computernerd81574 ай бұрын
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Ай бұрын
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.
@pablolocles93824 ай бұрын
Why do people think that chaos is bad? They are not used to freedom to handle it.
@orbik_fin4 ай бұрын
My go-to argument as a child when mom told me to clean my room.
@hanswoast74 ай бұрын
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-f6m4 ай бұрын
chaos is a ladda
@dansanger53404 ай бұрын
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.