Linus: The C vs Rust Debate Has Religious Undertones

Поділитися
Вставка
  • Опубліковано 29 гру 2024

КОМЕНТАРІ • 55

  • @romanstingler435
    @romanstingler435 3 місяці тому +3

    Dario one of the turning points
    ua-cam.com/video/WiPp9YEBV0Q/v-deo.htmlsi=bcRLmvKoXNBlr_18&t=1558

    • @dario.lencina
      @dario.lencina  3 місяці тому

      bro!! YT is hiding your comment! I had to dig around for a long time to find this, today I'll do another video covering this section!! things really went sideways here!!!

    • @StephenBlum
      @StephenBlum 3 місяці тому +1

      watched the video linked by @romanstingler435 and that was a heated topic. It seemed like the Rust speaker was just trying to keep up with the C changes. And that was it. Hostile C developers wow!

    • @dario.lencina
      @dario.lencina  3 місяці тому +1

      Yes! This first class vs second class citizenship argument is as toxic as it gets, if Linux was a corporation, that c dev would be fired

    • @romanstingler435
      @romanstingler435 3 місяці тому

      @@dario.lencina YT doesn't like me :)
      I am no C guy only beginner Rust coder. I do PHP for a living and I have a more calm opinion.
      I get that C devs want to keep it as it is,
      because they have thousands of tools specifically for building/developing the Kernel. Whether it is some memory checks or other special tools for sanity checks.
      Integrating Rust, adds more edges, more code, with potential to have more places where things can fail, and additional work if fundamental changes are required to an API.
      Furthermore, building the Kernel should be possible offline, how do you solve the issue with the Rust crates? Bundle the code? Probably not going to happen. There are multiple valid questions from the C guys. GCC is not ready yet. Nobody wants multiple compilers.
      The Rust part, it is fairly new(in comparison to the C code), and it will take years to integrate just parts of the Kernel parts. It is way too early to judge if it will work or not.
      I guess another fear of the C devs is that they think they will be replaced, or "their" code, I guess they don't see it as it is.
      Rust just wants to add parts as a Rust alternative, in the beginning to be able to have people to test the Rust implementation and then having a rational discussion how the Rust implementation works, how stable it is, what parts of C it has to rely on and if there are possible further steps in the future.
      My guess would be that the Rust Team should focus on the driver side FOR NOW and leave the low-level kernel to the C devs, if they don't like it. There are so many places where a Rust ecosystem in the Kernel has to be built. I would try building some sample driver implementations like networking, Bluetooth (These tend to have overflows from time to time) and find big companies who start writing their drivers in Rust.
      This would increase the pressure that more and more parts of the Kernel will integrate Rust with time.
      I would try the path with the least resistance just to get a good amount of Rust into the Kernel and after a while when Rust has proven to be no enemy, the resistance will go down periodically.
      BTW, Dario You are doing a great job.

  • @bandr-dev
    @bandr-dev 3 місяці тому +10

    i’ll side with C on this crusade. Holy C.

    • @parassareen5491
      @parassareen5491 3 місяці тому +1

      Welcome to the family comrade🎉.

    • @alucardhellsing9640
      @alucardhellsing9640 3 місяці тому +1

      C C C C CCCCCCCCCC

    • @MarcusHCrawford
      @MarcusHCrawford 3 місяці тому +2

      @@bandr-dev
      RIP Terry Davis.

    • @dario.lencina
      @dario.lencina  3 місяці тому

      Guys you do not necessarily have to pick sides, you can be proficient at both languages 🏋️‍♀️🏋️‍♀️

  • @juanmacias5922
    @juanmacias5922 3 місяці тому +3

    I think most people get stuck on the whole "my sports team is better than yours" aspect, instead of just using the right tool. Just as an employee gets annoyed when their process is disrupted, so are the veterans of most projects. They feel comfortable with their ways, and do not want to change to the "newfangled" way. And the C people got annoyed because the new people were trying to understand the project, and build upon it. I think this is why people need to learn multiple languages.

    • @dario.lencina
      @dario.lencina  3 місяці тому

      indeed!! Like @romanstringler435 pointed out, look at how ignorant the C zealots are regarding rust, ua-cam.com/video/WiPp9YEBV0Q/v-deo.htmlsi=bcRLmvKoXNBlr_18&t=1558 they do not even understand the fundamentals of rust (they thought that Rust had inheritance like C++), they use the classical elitist bs about "second class citizenship" argument. I HAVE to do a follow up.

  • @checksumsha1sum632
    @checksumsha1sum632 3 місяці тому +1

    Isn't adding rust to the kernel the same as adding complexity to the code?

    • @dario.lencina
      @dario.lencina  3 місяці тому

      To some degree yes, rust type system is objectively more complex than c. The reward on the other end is huge too!

  • @iulikdev
    @iulikdev 3 місяці тому +6

    If i understand correctly the problem was the fact that the "C" developers don't want to document their functions so the rust can correctly integrate with "C" libraries. thx.

    • @dario.lencina
      @dario.lencina  3 місяці тому +3

      Yes! And they want to reserve the right of breaking the rust bindings without even attempting to fixing them!! This is straight up disrespectful

    • @tiranito2834
      @tiranito2834 3 місяці тому +3

      @@dario.lencina and this is straight up a lie. It is the Rust developers who proposed a breaking change that would destroy user space for the sake of allowing their custom API to work on the kernel without adjusting themselves to the entire codebase that already exists and has been programmed for decades on end... it is them who demanded that the C devs maintain their changes by now having to mantain both the C side and the Rust side. When they were called out on that, they responded by saying that fine, then they would handle the Rust side, but then they'd be forcing the C devs to wait for weeks on end for the Rust people to get up to speed with the changes on the C side to be able to even test the changes without breaking everything. If we're going to make a compromise, both sides should be part of it, no? You can't just butt it with your own ideas and expect everyone else to adapt to you, you should at least try to adapt to everyone else too.

    • @dario.lencina
      @dario.lencina  3 місяці тому +2

      Don’t worry mate, revolution is unstoppable.

    • @Doctom91
      @Doctom91 3 місяці тому +1

      The problem is that Rust "programmers" cannot, fundamentally, understand C language. Imagine trying to rewrite parts of a complex system that you can't even understand.

    • @iulikdev
      @iulikdev 3 місяці тому +1

      @@Doctom91 80% errors in windows are memory leaks from language C(++)... So C programmers understand very well C language! 🤣🤣 The last BSOD crippled aviation. Do you understand the need for stable kernel? Have you ever seen kernel panic? I see that in linux many times.

  • @idcashflow
    @idcashflow 3 місяці тому +4

    i respect c and older developer like linus, that use what they have that day to give huge impact for us nowdays, c is great language no doubt about that, we always standing on the shoulder of giants, is it rust giving us a huge impact today ? i dont know, because younger developer dont have level of commitment like older generation, thats a fact.

    • @dario.lencina
      @dario.lencina  3 місяці тому +2

      I am down for respect, but some c zealots want to threat rust devs as second class citizens within the kernel, that is fundamentally a non starter.

    • @idcashflow
      @idcashflow 3 місяці тому +1

      @@dario.lencina hahah i could accept thats so human :))

    • @hi_arav
      @hi_arav 3 місяці тому +4

      @@dario.lencina isn't it also true that the Rust developers didn't want to work within the existing expectations / culture of the kernel? That would also be a non-starter, no? The Rust maintainer said he didn't want to work on "nontechnical nonsense" (e.g. documentation), which is important for a project of any size (esp. Linux). One can't just come in and complain that no one wants to play with your subsystem -- you have to make it worthwhile enough to convince others to use it.
      Also, any new technology should be treated as a 2nd class citizen until it has been proven to enhance the kernel, which isn't a new concept to the project.

    • @bernatsuli1785
      @bernatsuli1785 3 місяці тому +2

      @@hi_arav "Nontechnical nonsense" was not about documentation, it was about the constant drama. Hell, one of the major complains about the C codebase is the lack of documentation. Unless you mean how the Rust developers had to retroactively make documentation for the C code.

    • @vidal9747
      @vidal9747 3 місяці тому +4

      Survivorship bias. Of course all successful programmers like Linus are committed. The ones with commitment get remembered. Always in human history, the exceptional people were few. That is why we call them exceptions.

  • @Therr2137
    @Therr2137 3 місяці тому +3

    *Holy C

  • @s_e_t_z3248
    @s_e_t_z3248 3 місяці тому +2

    Imagine how much we would progress as a community, shit maybe even a species, if rust and c devs worked toether

  • @StephenBlum
    @StephenBlum 3 місяці тому +1

    Rust in linux kernel is huge advancement. Rust compiler helps prevents common errors. This sounds like a win

    • @dario.lencina
      @dario.lencina  3 місяці тому +1

      It is mate! But I am afraid that due to the cultural differences, we are about to see a hard fork of the linux kernel with the mission to obliterate C from the face of the world 🌎

  • @turdwarbler
    @turdwarbler 3 місяці тому +3

    C is simple and thats its strength, I have been using C for 40 years and never had an issue with pointers, or arrays or pointers to arrays or any other variation for that matter. Some parts of C++ are useful, but a lot is just C++ comittee, vested interest function bloat gobble-d-goop syntatic/semantic nightmare. Scott Meyers gives about 40 pages on how to use smart pointers correctly ??, really, if you need 40 pages to explain how to use smart pointers and their issues, then thats about 38 pages too many. Its an own goal.
    C is a language you can hold in your head, a bit like one of the design goals of Go.
    Mixing languages in a kernel, any kernel is just not a good idea and will end in tears, as it is.

    • @tiranito2834
      @tiranito2834 3 місяці тому +2

      literally the only person in this comment section who actually has a functioning brain. Thank you.

    • @dario.lencina
      @dario.lencina  3 місяці тому

      Classic elitist c behavior

    • @turdwarbler
      @turdwarbler 3 місяці тому +1

      @@dario.lencina Not at all. I didnt mention Rust once, good or bad. I was talking about C and C++, I thihnk maybe your brain is a bit Rusty (sic).

    • @dario.lencina
      @dario.lencina  3 місяці тому

      lol, you did not disappoint :)

  • @MarcusHCrawford
    @MarcusHCrawford 3 місяці тому +2

    I got called a boomer for liking the C language (I’ve done rust projects, I just like C). I’m 33. That hurt my feels.

    • @dario.lencina
      @dario.lencina  3 місяці тому +1

      Ageism sucks brother. I relate to what you are saying. I love both C and Rust, I do not understand why we need to chose one and obliterate the other?

    • @MarcusHCrawford
      @MarcusHCrawford 3 місяці тому +1

      @@dario.lencina
      I know that’s right. I do some embedded work, and C just feels right. At the same time, rust is great. We finally have a memory safe language that works for systems programming. It may not be as simple or intuitive as Go, but it’s damn fast. The hate needs to stop! lol.

    • @RustIsWinning
      @RustIsWinning 2 місяці тому

      ​@@MarcusHCrawfordNice try boomer. This is yours --> ♿️

    • @MarcusHCrawford
      @MarcusHCrawford 2 місяці тому

      @@RustIsWinning
      What a loser. What are you, 8?

  • @Takatou__Yogiri
    @Takatou__Yogiri 3 місяці тому +3

    js developer also hate ts unless they get comfortable with ts. same goes for them. people will hate rust unless they get comfortable in rust. just like ts. rust offers more. and can get rid of 100% memroy bug. so why hate if you are not comfortable with it. i made a best choice learning.

    • @Caellyan
      @Caellyan 3 місяці тому +1

      100% this. In order to be able to say something is terrible, you first need to understand that something in order to know which parts of the whole make it horrible. You can't just say it's bad based on impression you got from seeing 2 snippets and watching YT videos. Only once you've experimented with a language, to the point where you have a list of features you expect that language to have but it doesn't, can you say it's bad.

    • @nomadd3v
      @nomadd3v 3 місяці тому +1

      Tried to use rust in some simple projects in the past and didn't really like it all that much, eventually I went back to c++. A couple days ago I tried rust again and fell in love. I was unfamiliar with the different paradigms that rust follows which probably caused me to avoid it at first.

    • @dario.lencina
      @dario.lencina  3 місяці тому +1

      This is a great comment! So many people dismiss rust without even trying it for realz!!

    • @nomadd3v
      @nomadd3v 3 місяці тому

      @@dario.lencina I'm currently working on a Terraria clone in Rust using Macroquad. I've tried it in c++ with sdl2 opengl and quickly ran into maintainability issues. That specific issue may be because of a lack of experience, but for me, rust has been way easier for me to get into syntax and paradigm wise now. Giving rust a shot is probably going to be one of the best things I've done educational wise.

  • @mariotabali2603
    @mariotabali2603 3 місяці тому +1

    I consider C code to be difficult to read and write. I've only used it for very simple things. However I don't think one s got to talk shit about it because it is old and not trendy or worse, because you are not good at it. C is king, C is actually more portable than java and c#. it works faster. There is nothing it can't do. Drivers, OS, games, AAA games, embedded systems.

    • @dario.lencina
      @dario.lencina  3 місяці тому

      I agree with you, did you even watch the video mario?

  • @Ahoora-o2v
    @Ahoora-o2v 3 місяці тому +2

    C = 🐐

  • @checksumsha1sum632
    @checksumsha1sum632 3 місяці тому +2

    C = 🐐