Google recently rewrote the firmware for protected virtual machines in its Android Virtualization Framework using the Rust programming language and wants you to do the same, assuming you deal with firmware.

In a write-up on Thursday, Android engineers Ivan Lozano and Dominik Maier dig into the technical details of replacing legacy C and C++ code with Rust.

“You’ll see how easy it is to boost security with drop-in Rust replacements, and we’ll even demonstrate how the Rust toolchain can handle specialized bare-metal targets,” said Lozano and Maier.

Easy is not a term commonly heard with regard to a programming language known for its steep learning curve.

Nor is it easy to get C and C++ developers to see the world with Rust-tinted lenses. Just last week, one of the maintainers of the Rust for Linux project - created to work Rust code into the C-based Linux kernel - stepped down, citing resistance from Linux kernel developers.

“Here’s the thing, you’re not going to force all of us to learn Rust,” said a Linux kernel contributor during a lively discussion earlier this year at a conference.

  • lolcatnip@reddthat.com
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    4
    ·
    3 months ago

    Yeah, because the new tools are never actually better, right? If condescending luddites like you had your way we’d still be living in the literal stone age. At every step of the way, people like you have smugly said that the older, more established ways of doing things were good enough and new ways were just a fad that would die out.

    Your favorite language was dismissed as fad when it was new. High level languages were a fad. Computing was a fad. Electricity was a fad. See a pattern?

    Nice job projecting with the “only morons” bit, BTW, when it is in fact you who started off by denigrating people whose preferences are different from yours.

    • lysdexic@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      4
      ·
      edit-2
      3 months ago

      Yeah, because the new tools are never actually better, right?

      Well, yes. How many fads have come and went? How many next best things already died off? How many times have we seen the next best thing being replaced by the next best thing?

      And yet, most of the world still runs on the same five languages: C, Java, C++, C#, JavaScript.

      How do you explain that, with so many new tools being so much better than everything?

      Might it be because fanboys tend to inflate their own definition of “actually better”, while turning a blind eye to all the tradeoffs they need to pretend aren’t there?

      • lolcatnip@reddthat.com
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        2
        ·
        edit-2
        3 months ago

        I’m old enough to remember when 4 of those 5 languages were the hot new thing. You’d have had me ignore them all and keep using C for everything. If I had done that I wouldn’t have even landed my first job.

        • lysdexic@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          3 months ago

          You’d have had me ignore them all and keep using C for everything.

          Please tell me which language other than C is widely adopted to develop firmware.

          You’re talking about so many up-and-comers during all these decades. Name one language other than C that ever came close to become a standard in firmware and embedded development.

          Right.

      • Spore@lemmy.ml
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        edit-2
        3 months ago

        And yet, most of the world still runs on the same five languages: C, Java, C++, C#, JavaScript.

        Did you just assume that those languages exists since the dawn of computing? Or they run the world as long as they came to existence and were never “the new thing”? You are just contradicting yourself at this point to defend yourself from anything you don’t want to accept.