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.

  • @lysdexic
    link
    English
    -97 days ago

    That seems like a poor attitude imo.

    Why do you believe that forcing something onto everyone around you is justifiable? I mean, if what you’re pushing is half as good as what you’re claiming it to be, wouldn’t you be seeing people lining up to jump on the bandwagon?

    It’s strange how people push tools not based on technical merits and technological traits, but on fads and peer pressure.

    • @GetOffMyLan
      link
      14
      edit-2
      7 days 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
        link
        -10
        edit-2
        7 days 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
          link
          147 days 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
            link
            -67 days 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
              link
              6
              edit-2
              7 days 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.

              • @refalo
                link
                17 days ago

                I think syntax preference plays an enormous role in convincing people to even try it.

                • @zygo_histo_morpheus
                  link
                  47 days 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
                    link
                    English
                    27 days ago

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

                    Unfortunately 😅

        • @[email protected]
          link
          fedilink
          English
          57 days 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.

          • @refalo
            link
            17 days ago

            It was better in audio/video quality and being smaller, but not runtimes.

        • @GetOffMyLan
          link
          27 days 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.

          • @[email protected]
            link
            fedilink
            -27 days 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
              link
              8
              edit-2
              7 days 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.

              • @[email protected]
                link
                fedilink
                -4
                edit-2
                7 days 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…