• tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    115
    ·
    1 month 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.

    • plz1@lemmy.world
      link
      fedilink
      English
      arrow-up
      28
      ·
      1 month 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.

  • Tony Bark@pawb.social
    link
    fedilink
    English
    arrow-up
    49
    ·
    1 month ago

    Plans move to Rust, with help from AI

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

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 month 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.

      • Miaou@jlai.lu
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 month 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

    • vala@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month 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
        ·
        1 month 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

  • mech@feddit.org
    link
    fedilink
    English
    arrow-up
    41
    arrow-down
    2
    ·
    edit-2
    1 month ago

    Honestly, Microsoft should just take the L, develop Windows 12 based on a Linux kernel, and re-write most of their stuff from scratch.
    After focusing on backwards-compatibility for 40 years, they’re allowed a new start, to fix all the rotten code they inherited from the 1980’s.

    • underscores@lemmy.zip
      link
      fedilink
      English
      arrow-up
      15
      ·
      1 month ago

      Oh, God I would hate that.

      I don’t want microshit software to become a standard in Linux.

      What Microsoft needs to do is keep pushing AI as much as possible until it burns itself to the ground.

    • spongebue@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      ·
      1 month ago

      Shit, with the way computer horsepower has improved over the years, how hard can it be to add a legacy Windows emulator or whatever WINE is, especially when you have the original source code available?

      • orclev@lemmy.world
        link
        fedilink
        English
        arrow-up
        16
        ·
        1 month ago

        WINE is basically an adapter. It exposes a Windows API and calls the equivalent Linux APIs when invoked. That’s less overhead than an emulator which models an entire virtual piece of hardware. When you run a Windows program through WINE your computer is actually executing the code of the program just like any Linux one it’s just calling WINE libraries instead of the Windows ones it normally would.

    • explodicle@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 month ago

      Compatability is the only reason to use Windows anymore. If they had to compete for best distribution, then they’d rapidly lose customers.

    • neon_nova@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      I remember that rumor for windows 11, I was really hopeful.

      I don’t think they really make money in windows itself.

      Why don’t they just come to linux and sell their server stuff there to keep people in that ecosystem?

      • zbyte64@awful.systems
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 month ago

        I’m skeptical they could do it in a way that meaningfully inherits stability from Linux. Imagine bolting on their service control on top of systemd or map their registry system to /etc. They either bring all the bad over to Linux or write something that doesn’t support the windows ecosystem.

        • setsubyou@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 month ago

          They could do what Apple did when they replaced the old MacOS with UNIX, which is they shipped an emulator for a while that was integrated really well. They also had a sort of backwards compatible API that made porting apps a bit easier (now removed, it died with 32 bit support).

          But in the Windows world, third party drivers are much more important. So in that regard it would be more difficult. Especially if they’re not fully behind it. As soon as they waver and there is some way to keep using traditional Windows, the result will be the same as when they tried to slim down the Windows API on ARM, and then nobody moved away from the APIs that were removed because they still worked on x86, which significantly slowed adoption for Windows on ARM.

      • VindictiveJudge@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 month ago

        Er, no. A Linux program from five years ago probably won’t run on a current distro if it hasn’t been maintained in four years. A Windows program released twenty years ago and never patched has pretty good odds of running on Win10 without even needing to touch the compatibility tab.

  • termaxima@slrpnk.net
    link
    fedilink
    English
    arrow-up
    32
    arrow-down
    1
    ·
    1 month 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
      18
      ·
      1 month 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 month 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 month 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

  • franzbroetchen@feddit.org
    link
    fedilink
    English
    arrow-up
    19
    ·
    1 month 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.’”

    Easy to achieve if the ai just wraps all code in an unsafe block ^^

    • lemmeLurk@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      Honestly migrating from one language to another night actually be one of the best use cases for AI, if you don’t change the architecture much it should be doable especially if it’s a well tested codebase.

      • franzbroetchen@feddit.org
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 month ago

        Maybe if the languages are very similar. If you convert C to Rust using AI it might work well but will most definitely not leverage the unique features of Rust. Might as well stay with C in that case. Migrating from an object oriented language like C++ to a language with another paradigm (such as Rust) will most likely produce a burning pile of shit

    • Ⓜ3️⃣3️⃣ 🌌@lemmy.zip
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      2
      ·
      1 month ago

      That’s funny because using unsafe might be an hint that Rust is not the right tool for the job. Yet we have rust in the kernel, rust coreutils… I just can’t wrap my head arout it, yet.

      • filcuk@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 month ago

        Unsafe is expected and necessary in certain situations. Using other languages doesn’t change that fact.
        It’s talked about in the docs

  • MonkderVierte@lemmy.zip
    link
    fedilink
    English
    arrow-up
    20
    arrow-down
    1
    ·
    1 month 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
        7
        ·
        1 month 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
          3
          ·
          1 month 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.

  • wewbull@feddit.uk
    link
    fedilink
    English
    arrow-up
    18
    ·
    1 month 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
      3
      ·
      1 month 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
      4
      ·
      1 month 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.

      • Spice Hoarder@lemmy.zip
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        1 month ago

        I truly believe immutable Fedora distros are the answer to windows. I spent years and years on Debian based distros. At the beginning of 2025 I finally switched my daily driver from Windows to an arch based distro.

        Fast forward to October where I finally put Bazzite on my S/O’s gaming laptop, and shit just works. But the real kicker is that I don’t have to worry if upgrading her system will leave it unbootable.

        Look, I love tinkering, compiling from source, and keeping a spare Linux kernel, but windows users don’t want that shit. They yern for flat packs and systems that you can’t fuck up.

        Anyways, fedora atomic, 100% the new meta.

  • ZILtoid1991@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    2
    ·
    1 month 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.

  • hendrik@palaver.p3x.de
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 month ago

    Well known in the industry how you don’t assess programmers by lines of code. You kind of want them to be efficient and clean. Spend their day thinking and design clever solutions… Not pump out lots of unmaintainable low quality stuff. And have a million lines of that by tomorrow. But yeah, guess every aspect of this aligns well. You should be using Linux by now. Or at least do the switch in the near future.