Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
Programming Microsoft

Microsoft To Replace All C/C++ Code With Rust By 2030 (thurrott.com) 42

Microsoft plans to eliminate all C and C++ code across its major codebases by 2030, replacing it with Rust using AI-assisted, large-scale refactoring. "My goal is to eliminate every line of C and C++ from Microsoft by 2030," Microsoft Distinguished Engineer Galen Hunt writes in a post on LinkedIn. "Our strategy is to combine AI and Algorithms to rewrite Microsoft's largest codebases. Our North Star is '1 engineer, 1 month, 1 million lines of code.' To accomplish this previously unimaginable task, we've built a powerful code processing infrastructure. Our algorithmic infrastructure creates a scalable graph over source code at scale. Our AI processing infrastructure then enables us to apply AI agents, guided by algorithms, to make code modifications at scale. The core of this infrastructure is already operating at scale on problems such as code understanding."

Hunt says he's looking to hire a Principal Software Engineer to help with this effort. "The purpose of this Principal Software Engineer role is to help us evolve and augment our infrastructure to enable translating Microsoft's largest C and C++ systems to Rust," writes Hunt. "A critical requirement for this role is experience building production quality systems-level code in Rust -- preferably at least 3 years of experience writing systems-level code in Rust. Compiler, database, or OS implementation experience is highly desired. While compiler implementation experience is not required to apply, the willingness to acquire that experience in our team is required."

Microsoft To Replace All C/C++ Code With Rust By 2030

Comments Filter:
  • by fpp ( 614761 ) on Monday December 22, 2025 @08:10PM (#65876245)
    I'm not a software guy, and even I know this has a very high probability of failing miserably.
    • by jd ( 1658 )

      On the other hand, Microsoft trying to write an OS in Rust will reveal absolutely every defect present in the language.

      Unless they write their own, which is quite likely as they'd rather have defects they can ignore.

      • by gweihir ( 88907 )

        Not really. My guess is they will not really make their way out of "unsafe" and hence win absolutely nothing in that rewrite. And C++? I am not even sure you can port that to Rust without essentially writing a compiler that adds all the missing OO features. Rust has limited and very non-standard OO. Which makes sense given its aims, but not when you come from C++.

    • I am a Software guy, and can confirm that so much will go wrong.
    • Everything is going to go wrong.

    • I've done migrations. Not on this scale, but big. The problem isn't the 1-to-1 stuff; the problem is all the edge cases. All the stuff that only worked because it made bad assumptions that happened to work out in context. This is going to expose a lot of bugs, and that's good, but fixing those bugs will in some cases be a huge problem.
  • They are going to do this in an automated way, meaning the bugs will be copied too as "features".

    • by bjoast ( 1310293 )
      Let's hope so. In old code bases you can't always just fix every bug because many bugs have through use and abuse evolved to be considered part of the contract. An AI assisted rewrite that did not migrate known bugs would likely be a grand failure.
  • A long time ago, in a galaxy far far away, we used an EDA tool whose much touted release 9 was long delayed and when it arrived was buggier than an insectarium on steroids.

    Some years later I met the team lead of that release. It was because management had mandated a complete rewrite into C++. I also learned that the CFO loved that release because revenue from maintenance contracts went up. For years.

    I will watch Microsoft's future progress with considerable interest.

    • by gweihir ( 88907 )

      This is were "if it is not broken, do not fix it" comes from. Although, to be fair, MS code is pretty broken. AI use will just make that worse.

      I guess they could jettison their steaming pile and hire all the Wine devs for a "rewrite", but I doubt they have the vision or insight for that.

  • by OrangeTide ( 124937 ) on Monday December 22, 2025 @08:24PM (#65876297) Homepage Journal

    Rust is incredibly powerful. And it makes a lot of sense for software companies to embrace it. On the other hand, any projects that aren't actively maintained will bitrot very quickly. Rust gets a new stable release every 6 weeks, and deprecating features that aren't working out or are superseded is a normal part of the process.

    In comparison, I could pick some ISO/ANSI release of C and have it supported by native tools for decades. Picking C89 or C99 as a baseline, nearly every C compiler supports it now. Aiming for C11 or C17 for better 64-bit and Unicode support still gives you the possibility to support your application on a wide range of toolchains and runtimes. It is entirely possible that C isn't sufficient for your project, at least bare bones ISO C. You're often on the hook to maintain your own platform specific extensions. These might be pretty small for a command-line utility or back-end service like a relational database. Or platform specific libraries may be a huge pain in the neck like in game development.

    • by piojo ( 995934 )

      Can you clarify about released features being deprecated? I've read rust RFCs and they're always going on about how some feature is unstable (and in Nightly rust only) because it's not finalized and they can't change it after it's marked stable. AFAIK if you use Rust 2024, you will always be able to compile as Rust 2024.

      I like the nightly features, but they're usually to save a few lines of code or not need to write an extra helper function. Nightly features aren't need for serious software or libraries.

      • The Rust standard library (std) currently guarantees multiple compilers in the same application so crates buildable on stable will always be buildable. Therefor std can't really fully deprecate API.

        If Rust 1 (there will be no "2") then any bit of Rust code for stable should still build in the future. It has been demonstrated before that a program built against rust 1.0.0 can still be built. But what is left out that "experiment" is that team will all move to a newer version of Rust rather than keep multiple

  • by Tschaine ( 10502969 ) on Monday December 22, 2025 @08:24PM (#65876299)

    I worked at Microsoft for over a decade, and only had one bad performance review. That was after a partner team decided not to support the feature that my feature depended on. Since my feature didn't ship, and since somebody had to be at the bottom of the stack rack, I was my manager's logical choice. He got burned too, for he same reason.

    (At the time, I just thought "welp, I guess it be that way" but I'm hindsight it pisses me off the more I think about it. I busted my ass to hold up my end of the project, and was ready to go until the other team pulled the rug out from under us. My manager left MS a couple months later, and I probably should have too. But I did make senior a couple years later, so no real harm done.)

    Anyway....

    If AI is fundamentally not good enough to convert a million lines of code per dev, the principal engineer they're about to hire is going to be the logical choice for their manager's bottom-of-the-stack.

    That's a high risk. AI is not what executives think it is.

    • by gweihir ( 88907 )

      That's a high risk. AI is not what executives think it is.

      Indeed. But this job is actually low risk as in low-uncertainty. You are assured to fail, no chance in hell for this to go differently.

  • by battingly ( 5065477 ) on Monday December 22, 2025 @08:25PM (#65876301)

    Take a large code base that works fine now, with the occasional memory overrun, and make massive changes to it. "Works fine" will become a distant memory.

  • Aim for the stars, be happy with the moom, but don't be surprised if you get lost in space.

    Okay, I added that last bit, but it seems so appropriate here.

  • I was going to post "If it ain't broke, don't fix it." but this is microsoft we're talking about. Their codebase is pretty broken already, so, let them have at it. I'll watch the chaos with firefox on linux. I just hope my bank and the financial markets don't crash too hard if it gets that bad.There's a lot of dependence on MS products.
  • So it's only natural that Microsoft embraces the both of them. Maybe they can put the code "on the blockchain" while they are at it *laughing emoji*. Oh sorry that's so 2021

    But taking my cynical hat off, it's not the worst idea I've heard. Zuck's "metaverse" and Tim Cook's iCar have been far worse IMHO. This could actually result in something useful. A lot of Windows code could probably do with a refactoring, and be made less x86 dependant. I think this will have positive flow-on effects for Open Source.
  • ... and 1 million bugs. If I worked at MS now, I'd be looking for a new gig last week.
  • Nothing, actually. Windows is already a stinking pile of shit. Can't get any worse.

    • You are an incurable optimist. Things can *always* get worse.

      • by gweihir ( 88907 )

        I agree. But if they break it completely and then cannot back out (would not surprise me if that happens), this world may finally get rid of Microsoft and we can have some progress in the mainstream OS area again instead of the steps backwards MS is making these days. (Yep, since the downgrade from Win10 to Win11, I have found numerous new ways to crash Windows, drivers, etc.)

  • "Hunt says he's looking to hire a Principal Software Engineer to help with this effort."

    if there's one thing my career is lacking, it's working for a "distinguished engineer" who can say with a straight face that he plans to port 30+ years of source code from an unsafe to a safe language using fairy dust and slop generators

    • by gweihir ( 88907 )

      To be fair, you can probably cross-compile C to Rust, if you make the target "unsafe" and disregard performance.

      C++? I do not think so. Rust has a very non-standard and limited OO model. Good for systems coding, not good for porting C++ to it.

      • by dskoll ( 99328 )

        Well, you can (or used to be able to) translate C++ to C, and presumably go from there to Rust, but the resulting code will basically be non-human-modifiable.

  • Except for the stuff that they can't get the AI to convert for them. So, you know, all the stuff that barely holds together in Windows and Office, full of iterated pointers.
  • I think that may be what will finally kill them. Good.

  • CoPilot re write all Microsoft C/C++ code in Rust. There! done!

The world will end in 5 minutes. Please log out.

Working...