• Cypher@lemmy.world
    link
    fedilink
    arrow-up
    6
    arrow-down
    6
    ·
    5 hours ago

    Hellwig has some excellent points and people are up in arms solely because he’s not giving the green light for the shiny new toy.

    Keep the wrappers in your code instead of making life painful for others

    This is a perfectly valid approach, anyone claiming he’s resistant for no reason has never tried maintaining a multi language code base.

    If you want to use something that’s not C, be that assembly or Rust, you write to C interfaces and deal with the impedance mismatch yourself as far as I’m concerned.

    Again an entirely reasonable approach. There is precedence for this approach in the kernel/dma and I see no reason to change this now, unless a full kernel/dma rewrite to Rust were to occur.

    • edinbruh@feddit.it
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      1 hour ago

      What they are asking is not to change the c code to suit rust, but to leave the C code as is, and have a single Rust-written wrapper that links into the C DMA code so that other Rust drivers can link into the wrapper. Additionally, said wrapper is not to be maintained by Hellwig, but by the maintainers of the drivers that will use the wrapper, so without overhead for Hellwig.

      He is not asking to not make his work harder, he’s explicitly asking to make it harder to write rust drivers that use DMA.

  • azertyfun@sh.itjust.works
    link
    fedilink
    arrow-up
    46
    arrow-down
    3
    ·
    11 hours ago

    Don’t force me to deal with your shiny language of the day,

    WE HavE LegItImaTe COnCeRNs

    Exact same shit as last time, some cranky old dude with the territorial instinct of a bulldog sabotages anything to do with rust under a very thin layer of so-called technical concerns, yet refuses to partake in constructive discussion. Like, literally, the changeset is just bindings in rust/kernel? What even is there to complain about regarding maintainability of kernel/dma, given that as far as I can tell the rust devs will deal with any future incompatibilities?

    Very shameful for the kernel community that this kind of aggressive sabotage is regular and seemingly accepted. The incessant toxicity is not a good look and very discouraging to anyone thinking of contributing.

  • 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍
    link
    fedilink
    arrow-up
    20
    ·
    11 hours ago

    Rust is dead. Haven’t you heard? We’re rewriting everything in Zig now.

    Rust should be deprecated.

    On a more serious note, having a CTO at Microsoft, of all places, jump in on your side is kind of embarrassing. With one exception, code written at Microsoft has been some of the worst, most insecure, in the world.

    • lengau
      link
      fedilink
      arrow-up
      1
      ·
      39 minutes ago

      With one exception

      Whoa, it’s not after I find someone else who worked at my last employer!

    • Laser@feddit.org
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      6 hours ago

      Rust is dead. Haven’t you heard? We’re rewriting everything in Zig now.

      I don’t think the broader zig community has the rewrite spirit that the rust community has. For Rust, this mentality was also motivated by an increased security, which zig does improve over plain C, but not to the extent Rust does.

      To preface anything that follows, I’m not a developer, so this is little-informed opinion.

      Writing in rust just doesn’t seem very enjoyable. It’s a language with security in mind, which is a good thing. However, zig also isn’t inherently insecure (though it doesn’t provide the same security guarantees) and coding in it just seems so much more pleasant. To me, the language makes more sense, which is also something I like about Go. Even manual memory allocation looks well-designed. At no point did I look at zig and thought “oh, that’s an odd choice”.

      The language isn’t frozen yet though, so everything you write in it may require changes later on, so I wouldn’t recommend it for anything in production. Notably, there’s no built-in async or something comparable. If you’re fine with these limitations, go ahead and try it out, and if you feel like it, maybe even rewrite an existing tool in it.

      ncdu for example is such a tool where the original author rewrote it in zig for version 2.

    • The_Decryptor@aussie.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 hours ago

      On a more serious note, having a CTO at Microsoft, of all places, jump in on your side is kind of embarrassing.

      That comment was from a few years ago and wasn’t in relation to Linux, and the company he co-founded made some pretty useful things (And revealed the Sony rootkit in 2005) before MS bought them.

  • mox@lemmy.sdf.org
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    11 hours ago

    And? The GNU General Public License and every project that uses it (including Linux) have also been likened to cancer, as have many other things that impose and spread their conventions/restrictions/requirements when added to larger systems.

    The phrase “going viral” works similarly. These metaphors may not be pretty, but they are not uncommon or inaccurate, either. Stirring up drama around their use doesn’t help the project or the community.

    • deadcream@sopuli.xyz
      link
      fedilink
      arrow-up
      19
      ·
      11 hours ago

      It is hard when you mix them in one codebase and need bindings and wrappers for interoperability. This always introduces additional work and maintenance burden. It’s always a tradeoff and for most projects not worth the effort. Tech corporations that do this regularly have dedicated teams to deal with boilerplate bullshit and tooling issues, so that regular devs can just code with minimal friction. Rust-in-Linux community decided to take it upon themselves, but I’m not sure if they can keep it up for years and decades in the future.

      Though gradually getting of C is still a good idea. Millions of lines of C code is a nightmare codebase.

      • burgersc12@mander.xyz
        link
        fedilink
        English
        arrow-up
        11
        ·
        11 hours ago

        Yeah, even Linus said he wasn’t 100% sure it was gonna succeed but how else do you know unless you try it.

    • henfredemars@infosec.pub
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      1
      ·
      11 hours ago

      I’d even have sympathy for this argument that introducing another language is a major undertaking (and it is!) but Linux is already full of lots of other languages (Macros, Makefile, Shell, BPF, assembly languages, Perl, Python scripts…) and developers are willing to do the work to use a language that helps solve problems Linux cares about.

      • deadcream@sopuli.xyz
        link
        fedilink
        arrow-up
        15
        ·
        11 hours ago

        That’s not a good argument. Most of these additional languages are used for separate things, like build scripts and stuff. They don’t affect actual kernel code which is C and assembler language.