Microsoft wants to replace its entire C and C++ codebase, perhaps by 2030
https://www.theregister.com/2025/12/24/microsoft_rust_codebase_migrationOpen linkView original on sh.itjust.works245
Comments126
https://www.theregister.com/2025/12/24/microsoft_rust_codebase_migrationOpen linkView original on sh.itjust.works
Well, I expect it'll be exciting, one way or another.
This gives the curse "may you live in interesting times" vibes
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.
I think the number of lines to be deleted is the target 1M...
yeah it's "replace 1M lines of current code with whatever it takes to do the same task."
That's insane. Even a good engineer will frequently need years to fully understand one million lines of code - even if the code is organized very, very well.
To compare, one million lines of program code might have around 100000 to 200000 unique symbols whose meaning and complex connections an engineer working with it has to learn and memorize. That's far more than the average vocabulary one will learn in five years when learning a foreign language to a high skill level. Doing it in a month would be like learning to read and write fine Japanese or Arab literature in a month when you have never spoken a word in that language before.
The Linux kernel has now passed 40 million lines of code, written over 30 years by tens of thousands of master programmers. And that's kind of a historic achievement. What happens is that complexity increases sharply with each duplication of the amount of code.
Kinda still your point, but if you have one engineer producing 1M SLOC, how many do you have for code review?
I hate how everyone nowadays is acting like reviews are not important. Actual oversight over codebase is way less important than shipping random code. Which is insane.
GitHub Copilot performs PR reviews now doesn't it
Yeah, that's exactly what we need.
LLM producing the code
LLM approving the change
LLM agent pushing to prod
Then wonder why the users are gone
Replace users with LLMs too.
It's not great.
it is not much better than just running a linter over your code.
Not disagreeing with you there
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.
points to ads in the start menu and surveillance in the OS
Pardon me, but that is exactly what MS is doing.
So to be paid I have to delete 1M lines of code every month. Gotcha.
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!
I look forward to the total and complete collapse of Microsoft in the computer marketplace.
As if AI could handle the mountains of checks Rust has you account for.
AI: This is unsafe. This is also unsafe. This third one? Unsafe.
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.
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
Yeah, to quote the manual:
"[Unsafe Rust allows you to]
[...] 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
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
I'm my experience, LLMs are especially bad at Rust. They really don't seem to grasp the borrow checker.
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
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.
That would make a lot of sense, which is why they are going to do something else.
It seems like the actual windows kernel isn't that bad, it's mainly all the stuff on top of it at this point that is killing the OS
Which they could clean up, but it would mean killing backwards compatibility, which is arguably the only selling point of Windows.
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.
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?
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.
A man can wish but they would never do that because of GPL and thus having to also open source anything built-in/in-top by them (afaik?)
Not really. Android and the google layer on top is a pretty good example of what you can do.
Only missing a differnt entire set of features from CP/M or System V.
They would only be obliged to open source any extra code they added to the kernel. If whatever they add lives in user space then it can be closed source (that's one of the key differences between GPL 2 and 3 and why Linus refuses to use GPL 3). That said the problem with Windows at this point isn't really the kernel, it's all the user space crap they built on top of it.
Even then, they can just have an open source shim and a binary blob for the driver, a la Nvidia.
Compatability is the only reason to use Windows anymore. If they had to compete for best distribution, then they'd rapidly lose customers.
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?
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.
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.
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.
In my experience neither of those are true, on linux unless a dependency was dropped a 4 year old program will still probably work fine and a 20 year old program on windows will likely have some glitches which may or may not be problematic.
Surely there's no way for Microsoft to vibe-fuck their OS.
Surely.
Surely.
That's OK. I'm using Linux. Perhaps this will drive more people to Linux. The less people using corporate owned tools the better.
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.
little measurable difference? the last time they rewrote something they replaced the start menu with fucking react
the difference will be measurable and enormous
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.
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
All the black hats are going to have a field day uncovering all manner of zero-day exploits…
No no no you see, they're using rust, which is a 'safe' language. That means it's not possible to have security issues...
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.
Have you tried Winboat? Don't know about CAD but it can handle Photoshop well.
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.
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.
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.
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
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.
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.
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?
Well, in that case they're overstating their capabilities. Which is not too surprising.
But when they don't pass, then you have to dissect a bunch of AI pasta, right?
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.
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.
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.
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.
A vibe coded Windows 12. Sounds... interesting,,, mildly...
Meaning, it will have more bugs and less features after.
I tried vibe coding a rust project and it was total ass.
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
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.
JS and Python code is equally garbage.
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
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.
My experience exactly. We gotta just read the docs.
Probably with AI slop because they got really stupid really fast in Redmond.
will MS even last that long towing AI behind them.
They're not even towing it, they're putting it in the lead fully and just dumbly trusting whatever direction it's going.
Easy to achieve if the ai just wraps all code in an
unsafeblock ^^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.
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
So not for microsoft products then.
In theory.
But there's no doubt all their tests will also be shat out from an LLM.
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.
You shouldn't have said that. Now the rust zealots are going to come for you.
Got downvoted, here they come…
Unsafe is expected and necessary in certain situations. Using other languages doesn't change that fact.
It's talked about in the docs
Be off fucking windows by 2030, got it.
You can be happily off Windows in less than an hour.
https://fedoraproject.org/kde/
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.
I really agree. I let my partner try out my steam deck (immutable arch instead of Fedora, but ultimately the same experience. Flatpaks and easy updates). They fell in love with it, so I bought a second one for them. It’s been a year now, running it almost exclusively on desktop mode and using it as a Linux desktop.
I haven't even shown them the terminal yet.
100 fucking percent. I'm loving atomic distros more and more as I use them, despite having to work around limitations/recommendations against installing rpm packaged software.
Bazzite was actually the distro I chose when I bailed on windows earlier this year, and while I do have my complaints, it's easily been the best desktop Linux experience I've had in multiple decades. I've tried a dozen or more times to go to Linux but my graphics card has always been the reason I went back. But between going green and using a distro that has both steam and my GPU drivers baked in, it's been a fucking dream.
Like, I love tinkering, coding, and all that fun tech shit. But I also do this for a living, so I want my home system as set and forget as possible. I don't mind doing troubleshooting on my servers and shit to make hosted services work, but something about having to troubleshoot my main rig just sends me over the edge.
Yep. Atomic doesn’t suit my needs outside of a dedicated gaming machine, but if I help my mom with a new computer, it’s going to have an atomic desktop with KDE. Close enough to windows that she won’t need to learn something new, secure where I won’t have to clean it out every 6 months, and reliable to where she can handle OS updates herself. I just need to be able to run an old version of WordPerfect for her in Wine and she has everything she needs.
What's this show ?
Parks and Recreation
Parks & Recreation
so glad i switched to linux in time to avoid this clusterfuck. at least on my private machines.
Just fucking stop please
Yet another good time to get off of Windows
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.
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.
I work for a company developing software for Windows and deal with COM all the time. How do you communicate across dynamic libraries and languages in Linux?
Linux usually just uses C API, most of which reads horribly. Libevdev is quite notorious for using files and the docs not telling you that the reading is blocking. Some additional things use C++ classes though.
Could you provide a link to the documentation? It's strange that it's so barebones.
https://www.freedesktop.org/software/libevdev/doc/latest/
Rust has traits and reference counting which map nicely to COM objects.
By the way, the Linux Kernel is OOP. That's a good choice for things like queues, file systems, and device drivers.
That's a crazy take. I hate com and oop with a passion. If you like com that much there's gobject for you on Linux.
I hate everything GTK/GNOME, they didn't even call it
gnobject.Perfect plan, I'm sure there will be no problems
Replace the spaghetti with slop. Sounds like a great idea.
The linkedin post this is based on sounds like a troll/joke/fake/mental episode.
TBH he probably knows he is lying, but is making confusing claims in order to push some other agenda.
Probably firing core people to save money while maintaining plausiblish deniability that this won't do irrepairable damage.
Or just to get himself approval for amassing subordinates for a little kingdom, by displaying an ambitious "plan".
Somebody got yelled at Edit: seeing as theres no embed, the same guy put up something about this was a research prject and, hah, of course theyre not porting windows to rust.
https://circumstances.run/@davidgerard/115774900029763806
I can't wait for online trolls to blame the language after the AI slop code gets flagged with a billion CVEs
Incoming brainrot-video from Bryan Lunduke in 3..2..1
This sounds like a great idea, I might finally be able to use Linux at work in the future.
(With react native)
Windows 11 was released 4 years ago and you still can't move the task bar to a different edge of the screen. If Microsoft can't implement simple feature of a core part of Windows in 4 years they most certainly can't replace their entire C/C++ codebase in 5 years
Just do it now. It feels so good and everyone's doing it.
I can't play stuff that requires kernal level anticheat (I know I know, "stop playing those game" no, fuck off). When I can actually play all the games I use to socialise with my very limited amount of friends, sure, but until then, for my use case, Linux is just not good.
This is coming from someone who is pretending to think Microsoft is currently doing well and could lose some quality at the expense to introduce new features users want faster to sell an image of technology innovators or at a baseline a user friendly experience
What is actually happening is they are trying really hard to sell Microsoft after windows 11 launch pushed a lot of users away or at least gave them an accurate impression of how MS caters to corporations and advertisers and they don't give a shit about users as long as they keep buying computers with windows monopoly pre installed. The 'ai is going to be good enough to replace developers' longshot could come in 10 years or 10,000 years and is a hand wave to not understand the problem or currently available possible solutions.
Also the interview only covers corpo interests and doesn't include any labor or software union leaders.