• dohpaz42@lemmy.world
    link
    fedilink
    English
    arrow-up
    132
    arrow-down
    1
    ·
    2 months ago

    People need to chill with the language fanaticism. It’s one thing to make jokes and rip on a language for its quirks, but at the end of the day it’s just a language. If you truly don’t like it, don’t use it. I’m going to take a stab and guess that there is enough Linux kernel source to go around to both the c devs and rust devs. Just be glad they’re not trying to rewrite it in JavaScript. 😉

    • WalnutLum@lemmy.ml
      link
      fedilink
      arrow-up
      56
      arrow-down
      5
      ·
      2 months ago

      The problem is that the Linux kernel is monolithic so introducing rust into it does have certain repercussions about downstream compatibility between modules.

      Right now the rust code in the kernel uses c bindings for some things and there’s a not-insignificant portion of C developers who both refuse to use rust and refuse to take responsibility if the code they write breaks something in the rust bindings.

      If it was pure C there would be no excuse as the standard for Linux development is that you don’t break downstream, but the current zeitgeist is that Rust being a different language means that the current C developers have no responsibility if their code refactoring now breaks the rust code.

      It’s a frankly ridiculous stance to take, considering the long history of Linux being very strict on not breaking downstream code.

      • Leaflet@lemmy.world
        link
        fedilink
        English
        arrow-up
        31
        ·
        2 months ago

        Rust developers are fine with C bindings changing, they just want that to be communicated to them by the C developers before they break.

      • HumanPenguin@feddit.uk
        link
        fedilink
        English
        arrow-up
        10
        ·
        2 months ago

        A valid point. But the result is that over a pretty short period of time. These C developers will find delays in how quickly their code gets accepted into stable branches etc. So will be forced to make clear documentation into how the refactoring effects other elements calling the code. Or move on altogether.

        Sorta advantageous to all and a necessary way to proceed when others are using your code.

      • InverseParallax@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        7
        ·
        2 months ago

        Yeah sorry, c/c++ guy here.

        I get that rust is the new shiny.

        But now it means changing any potentially bound c function means I need to be fluent in a language I barely heard of before this year and has a syntax that makes c# look normal.

        So, how about no?

    • EleventhHour@lemmy.world
      link
      fedilink
      arrow-up
      29
      arrow-down
      5
      ·
      edit-2
      2 months ago

      I agree.

      I grew up in the age of c/c++ and then Java. I get it: people hate it and it’s time to move on, but jeez, folx, chill. It will happen in time, and there’s no reason to go all civil warsy about it.

      Things like this should not be rushed.

      • dohpaz42@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 months ago

        Typescript is always compiled down to JavaScript, so it’s kinda the same thing, but with “nicer” clothes.

          • LeFantome@programming.dev
            link
            fedilink
            arrow-up
            15
            arrow-down
            1
            ·
            2 months ago

            Rust does not compile down to C. It generates LLVM bytecode the same as Clang does. They both produce native executables. You do not need a C compiler on your system to run Rust binaries.

            Typescript produces JavaScript. You need a JavaScript interpreter to execute the output from TypeScript.

            Not the same thing.

            • dohpaz42@lemmy.world
              link
              fedilink
              English
              arrow-up
              3
              arrow-down
              2
              ·
              edit-2
              2 months ago

              In before the pedants: clang is a c compiler, in that it compiles c code—but it also compiles other languages too. The distinction is that c, c++, rust, etc are compiled directly into byte code , whereas typescript is transpiled into another language (JavaScript) before it is executed. I’ll probably catch heat for this, but you can liken TypeScript to C++ because they both are supersets of another language.

                • dohpaz42@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  2 months ago

                  I’ll admit I’m no c/c++ aficionado, but after a little research I see what you mean. Originally, C++ was a superset of C, but C has since diverged to include things that are not in C++. So we are both correct.