• tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    194
    ·
    6 days ago

    “My goal is to eliminate every line of C and C++ from Microsoft by 2030,” Microsoft distinguished engineer Galen Hunt wrote in a recent LinkedIn post.

    “Our strategy is to combine AI and Algorithms to rewrite Microsoft’s largest codebases,” he added. “Our North Star is ‘1 engineer, 1 month, 1 million lines of code.’”

    Well, I expect it’ll be exciting, one way or another.

    • edgemaster72@lemmy.world
      link
      fedilink
      English
      arrow-up
      57
      ·
      5 days ago

      Well, I expect it’ll be exciting, one way or another.

      This gives the curse “may you live in interesting times” vibes

    • plz1@lemmy.world
      link
      fedilink
      English
      arrow-up
      47
      ·
      5 days ago

      You know it’s going to be successful when they go back to using antiquated productivity measurements like measuring based on lines of code in a time frame. We all know AI is fucking spectacular at generating overly verbose code.

      • Iunnrais@lemmy.world
        link
        fedilink
        English
        arrow-up
        12
        arrow-down
        8
        ·
        5 days ago

        Enshittification does not mean making things suck in general. It specifically means the business model of making a good product for users, then making the product bad for users and good for advertisers or data purchasers or retailers or whatever, and then when you have a captured market, making it worse for everyone to squeeze more money faster.

        Microsoft is not doing this. They might be sucking, and making a worse product, but it’s not following the enshittification playbook.

    • bravesirrbn ☑️@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 days ago

      I always love how business bros use the term “Algorithm(s)” (and now also “AI”) as if that was just a magic incantation or something that you just switch on and it immediately solves whatever problem you might have.

      All that’s needed is that the wizard comes up with the right spell and then everything just works and the business is generating infinite money!

    • Tattorack@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      5 days ago

      That’s OK. I’m using Linux. Perhaps this will drive more people to Linux. The less people using corporate owned tools the better.

    • SkaveRat@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 days ago

      “Our strategy is to combine AI and Algorithms to rewrite Microsoft’s largest codebases,” he added. “Our North Star is ‘1 engineer, 1 month, 1 million lines of code.’”

  • termaxima@slrpnk.net
    link
    fedilink
    English
    arrow-up
    54
    arrow-down
    1
    ·
    5 days ago

    This could have been good news, however, Microsoft’s insistance on using AI, and general incompetence even without it, makes me very doubtful this will be successful.

    They are going to try and replace C and C++ written by actual experts a few decades ago, with Rust written by idiots. Expect tons of logic bugs, and very little measurable difference in memory corruption.

    • Pup Biru@aussie.zone
      link
      fedilink
      English
      arrow-up
      31
      ·
      5 days ago

      little measurable difference? the last time they rewrote something they replaced the start menu with fucking react

      the difference will be measurable and enormous

      • termaxima@slrpnk.net
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        Isn’t React technically safer for memory ? I was only talking about memory corruption, Rust’s actual main strength.

        Don’t get me wrong, it is absolutely terrible that they shoved JavaScript in the start menu. It’s buggy as hell, but I don’t think it can ever segfault.

        • Pup Biru@aussie.zone
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          perhaps… i guess the single directional execution model would help to prevent memory leaks, and components would help keep things relatively contained… and also javascript in general avoids whole classes of c/c++ bugs… but it’s also incredibly slow. imo it’s just not something you should write core system components in

          to be clear, it’s not react that’s the problem here: its execution model is an excellent way of structuring UI… but something as core as the start menu just really isn’t something you should fuck around with slow languages with

          and also, that’s not to say that FOSS shouldn’t do it - they’re open, and thus something like react makes it easier for devs to write plugs and extend etc… but that’s not an engineering concern for windows: they don’t get the luxury of using extensibility as an excuse

      • phlegmy@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        4 days ago

        No no no you see, they’re using rust, which is a ‘safe’ language. That means it’s not possible to have security issues…

  • Tony Bark@pawb.social
    link
    fedilink
    English
    arrow-up
    76
    ·
    6 days ago

    Plans move to Rust, with help from AI

    As if AI could handle the mountains of checks Rust has you account for.

    • vala@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 days ago

      I’m my experience, LLMs are especially bad at Rust. They really don’t seem to grasp the borrow checker.

      • sudoer777@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 days ago

        I used Rust with Deepseek for a small project for copying and pasting snippets and it went pretty well, but I wouldn’t trust it to work with and debug a codebase on its own, especially not an OS

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      6 days ago

      While I agree that I don’t think that an LLM is going to do the heavy lifting of making full use of Rust’s type system, I assume that Rust has some way of overriding type-induced checks. If your goal is just to get to a mechanically-equivalent-to-C++ Rust version, rather than making full use of its type system to try to make the code as correct as possible, you could maybe do that. It could provide the benefit of a starting place to start using the type system to do additional checks.

      • MartianSands@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        8
        ·
        5 days ago

        The safety designed into Rust is suddenly foreign to the C family that I’m honestly not sure you can do that. Even “unsafe” Rust doesn’t completely switch off the enforced safety

        • InnerScientist@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          5 days ago

          Yeah, to quote the manual:

          "[Unsafe Rust allows you to]

          • Dereference a raw pointer.
          • Call an unsafe function or method.
          • Access or modify a mutable static variable.
          • Implement an unsafe trait.
          • Access fields of unions.

          […] The unsafe keyword only gives you access to these five features that are then not checked by the compiler for memory safety."

          https://doc.rust-lang.org/book/ch20-01-unsafe-rust.html

      • Miaou@jlai.lu
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        5 days ago

        If they rely on UB at all, then this won’t work. At best you get a compile time error, but more likely your rust program will do weird stuff with memory. And given how much people rely on compilers “acting nice” when it comes to aliasing (something rust does not fuck around with), I wouldn’t hold my breathe

  • qaz@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    4 days ago

    This sounds like a great idea, I might finally be able to use Linux at work in the future.

  • MonkderVierte@lemmy.zip
    link
    fedilink
    English
    arrow-up
    31
    arrow-down
    1
    ·
    5 days ago

    reimplement … with help from AI

    Meaning, it will have more bugs and less features after.

      • kadu@scribe.disroot.org
        link
        fedilink
        English
        arrow-up
        11
        ·
        5 days ago

        AI doesn’t reason, so it heavily depends on what’s been presented in the training set.

        Python is everywhere and most importantly whatever you can think exists in Python, from critical bioinformatics tools to somebody learning programming from the first time and posting their prime number finder or sorting algorithm online.

        Rust? Not at that point yet, so the AI fails

        • Spice Hoarder@lemmy.zip
          link
          fedilink
          English
          arrow-up
          5
          ·
          5 days ago

          Yeah, for everything I’ve seen it’s just a classical case of overfitment. I only tried it because it was recommended to me by a coworker. It failed at problem solving and choosing comparable dependencies. Completely jarring because like you said, it could likely do it in JS and Python. But clearly not Rust. I often wonder if the code you get from AI is +85% stolen verbatim.

          • dantheclamman@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 days ago

            In Python it can work but sometimes with crazy inefficient methods incorporated. In obscure geospatial stuff it often loses the plot. Still occasionally recommends functions that don’t exist

        • cheesybuddha@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          5 days ago

          I dunno man, I tried coding a simply http listener with an LLM one time in python (a language I’m unfamiliar with). Just something to sit on a port, listen for a request, and run a script.

          I ended up spending more time troubleshooting the maybe two dozen lines of code than I would have spent just looking up a tutorial online.

  • wewbull@feddit.uk
    link
    fedilink
    English
    arrow-up
    33
    ·
    5 days ago

    This is what you get when AI fanaticism combines with Rust fanaticism.

    1 million lines a month is 2-ish line per second. That “engineer” is just someone to blame when things don’t work. They aren’t going to be contributing anything.

    • tyrant@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      5 days ago

      I was about to say that surely it’s not just 1 person they are talking about. Then I read, "Our North Star is ‘1 engineer, 1 month, 1 million lines of code.’”

      WTF

    • ranzispa@mander.xyz
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      7
      ·
      5 days ago

      I mean, if this is true and it works it is not too far fetched. You’d mostly be checking that tests still make sense and that they pass.

      Microsoft scientists have worked on a tool that automatically converts some C code to Rust.

      • Deestan@lemmy.world
        link
        fedilink
        English
        arrow-up
        10
        ·
        5 days ago

        The expensive autocomplete can’t do this.

        AI markering all wants us to believe that spoon technology is this close to space flight. We just need to engrave the spoons better. And gold plate them thicker.

        Dude who wrote that doesn’t understand how LLMs work, how Rust works, how C works, and clearly jack shit about programming in general.

        Rewriting from one paradigm to another isn’t something you can delegate to a million monkeys shitting into typewriters. The core and time-consuming part of the work itself requires skilled architectural coding.

        • cheesybuddha@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          5 days ago

          LLMs are - by the nature of how they work - only able to achieve 90-95% accuracy. That’s the theoretical best they can do, according to the people behind OpenAI. And worse, it will be presented as 100% accurate, even going so far as to make up sources wholecloth.

          That’s an insane and completely unacceptable error rate for any system even pretending to be mission critical.

          Can you imagine sending people to space with a system that has a 1 in 20 chance of just being completely unfit for service?

        • ranzispa@mander.xyz
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 days ago

          Well, in that case they’re overstating their capabilities. Which is not too surprising.

        • ranzispa@mander.xyz
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 days ago

          No, you go to your manager and be like: your machine to make C code into rust code does not work. If you want to keep the pace of 1M loc per month and keep your boss happy I need double pay and 10 people working on it at all time.

          • cheesybuddha@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            5 days ago

            But when your boss tells you that you have to keep doing it this way, then you don’t have much choice in the matter. You either keep asking AI for new code and hope it gets it right, or you have to actually delve into the code and spend your time correcting it.

            The 1 million lines of code is just untenable, assuming they want code that actually works.

            • ranzispa@mander.xyz
              link
              fedilink
              English
              arrow-up
              1
              ·
              5 days ago

              Well, if that’s the case you do the job in the way you yourself judge best. Maybe that tool is good at some tasks and you apply it to that. Bill Gates will be sad for a couple months and then likely forget about the expectations which had been set and you yourself got a stable job with a safe position for years to come.

      • Passerby6497@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        5 days ago

        You’d mostly be checking that tests still make sense and that they pass.

        Nah, my experience is most of your time is finding out what parameter or function call they made up because its mathematically a good answer.

  • Malcolm@lemmy.world
    link
    fedilink
    English
    arrow-up
    47
    ·
    6 days ago

    Get out your popcorn because this should be fun to watch. They’re already vibe coding all of the value and stability out of their OS.

    As someone who only still has a Window install because Wine can’t handle the CAD tools I rely on, I look forward to the day when Linux becomes a more attractive platform to release professional software for. I’m not holding my breath for the Year of the Linux Desktop but I can certainly enjoy the ride of MS’s self sabotage to get there.

      • BlameTheAntifa@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        5 days ago

        WinBoat is amazing, but it doesn’t have GPU passthrough yet. That one feature is the holy grail for Windows virtualization on Linux. I hope the WinBoat team can solve it.

        • msage@programming.dev
          link
          fedilink
          English
          arrow-up
          4
          ·
          5 days ago

          I’m afraid that’s going to be a long way off.

          KVM can do it, but usually only to one kernel. Not sure if you can have multiple kernels handling one GPU.

  • ZILtoid1991@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    2
    ·
    5 days ago

    Will this finally be the end of Windows?

    Also fun fact: Windows uses a lot of COM Interfaces for API, which in my opinion often makes developing for Windows a better experience, than developing for Linux. Rust does not have anything OOP related by default, and are often emulated with macros instead, like in C.