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.

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

    It is literally being pushed for its technical merits and traits.

    Memory safe code with comparable performance in the kernel seems like an absolute no brainer.

    Also if you watch the video all he’s asking for is consistent interfaces for the file systems. He’s not even trying to get them to use rust. And the guy starts screeching about how he’ll code however he wants.

    Is it wrong to expect a consistent and well documented interface?

    Pretty sure C is actually being pushed against its technical merits here.

    • refalo@programming.dev
      link
      fedilink
      arrow-up
      5
      arrow-down
      15
      ·
      edit-2
      3 months ago

      It’s wrong to force it. Most choices in history don’t end up with the best one being used. Beta was better than VHS for example. Rust people are very bad at convincing others to try it, and objectively many people just don’t want to or don’t like it for various reasons.

      Personally I highly dislike the syntax. People like familiar things, and to me it’s just too different from C++.

      If anything I think Swift will be an easier sell when the speed and cross-platform issues are solved.

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

        I don’t think that everyone has to switch to rust or anything but “I dislike the syntax” and “I only want familiar things” are really bad arguments for not using a language. Try something outside of your comfort zone for a bit, it will help you grow as a programmer.

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

          I have, I still don’t like it and I have tried several times to get used to it and I just can’t. I don’t see any problem in avoiding a language because of its syntax that is painful for me to look at all day.

          Regardless of whether you think those reasons are subjectively bad or not, it is the current reality for many developers.

          • zygo_histo_morpheus@programming.dev
            link
            fedilink
            arrow-up
            7
            arrow-down
            1
            ·
            edit-2
            3 months ago

            If you’re hobby programming then do whatever you want obviously but if you’re part of some sort of larger project that’s trying to decide between Rust and C++ then subjective aesthetic arguments probably aren’t going to be considered as heavily as technical ones (and rightfully so), which in Rusts case could be that certain classes of bugs are impossible. That’s not to say that it’s not possible to make a technical case for C++ over rust but syntax preferences probably aren’t going to play a large role in how widely used either languages are, which is good.

              • zygo_histo_morpheus@programming.dev
                link
                fedilink
                arrow-up
                4
                ·
                3 months ago

                I dunno, CMake has one of the worst syntaxes I’ve ever seen, and despite that it’s one of the most popular languages used for C/C++ build scripting. This is because it has certain technical benefits compared to its competitors. I’m certain that having “bad” syntax is a disadvantage but it’s less important than other factors. Also I don’t think that Rusts syntax is universally disliked either.

                • lad@programming.dev
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  3 months ago

                  it’s one of the most popular languages used for C/C++ build scripting

                  Unfortunately 😅

      • explodicle@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        5
        ·
        3 months ago

        Beta was not better than VHS. Anybody could build a competing VHS machine, and it supported feature length films.

        I would go so far as to say that yes most choices do end up with the best one being used, because people like nice things. Programmers just aren’t persuasive people in general, give it time.

      • GetOffMyLan@programming.dev
        link
        fedilink
        arrow-up
        5
        arrow-down
        3
        ·
        3 months ago

        I think the point is they aren’t forcing it at all. It’s being used with the blessing of Linux Jesus and the others are just throwing their toys out of the pram because they don’t want to learn it.

        Someone else linked the video on this post. They are rude as hell and the rust dev isn’t even asking them to use it.

        Again I think that’s a bad attitude towards technology. Use the best tool for the job and you’d get used to the syntax pretty quickly.

        It’s like someone who started on python not wanting to learn a c style language.

        • PushButton@lemmy.world
          link
          fedilink
          arrow-up
          5
          arrow-down
          7
          ·
          3 months ago

          Get a Foot in the Door

          It starts with “no, you don’t have to learn it”,

          to “your changes are breaking Rust stuff, let’s waste time together to fix it, else I call it ‘bad attitude’”

          to “you better make your stuff that way if you don’t want to break Rust stuff (and waste your time me)”

          to “do it my way, Rust is taking longer to fix and I would have to refactor all the code because of the lifetime cancer”

          to the original senior kernel dev saying: “fuck it, I quit, the kernel is such a mess with the Rust BS” … People don’t want you at the party, make your own party with your own friends we don’t want you here

          It’s not complicated.

          • GetOffMyLan@programming.dev
            link
            fedilink
            arrow-up
            9
            arrow-down
            1
            ·
            edit-2
            3 months ago

            I mean I’ve still yet to hear a reason not to use rust tbf.

            But yes that’s what working in a team is like.

            I have to do stuff at work so I don’t fuck over the frontend team. I don’t throw a little tantrum about it.

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

              Badgering

              I mean I’ve still yet to hear a reason not to use rust tbf.

              You can’t take NO as an answer, don’t you?

              That’s bad attitude

              Linux is not “work”; you surely don’t grasp the reality of the situation here.

              And “tbf”, the incessant pushing of Rust from people like you is a perfectly fine reason to not use Rust…