Meanwhile the content of the post is merely that an engineer who works for a team within Microsoft's AI division wrote on LinkedIn "my goal is to eliminate every line of C and C++ from Microsoft". (He believes that he can get AI agents to accomplish this.)
Not quite the same as an official plan announced by the CTO or something. Bit misleading title.
https://www.microsoft.com/en-us/research/people/galenh/proje...
If he said “by 2050” or “by 2100”, I bet he would get fewer applicants. I also think the applicants he would get would be of lower quality.
from the LinkedIn post [0]:
> I have an open position in my team for a IC5 Principal Software Engineer. The position is in-person in Redmond.
> My goal is to eliminate every line of C and C++ from Microsoft by 2030.
so perhaps a more accurate title would be "one guy at Microsoft, in a LinkedIn job posting, says it's his goal to replace all C/C++ code with Rust"
0: https://www.linkedin.com/posts/galenh_principal-software-eng...
(We went to the same university, ive never worked with him and actually worked at a competitor for about twenty years, but know plenty of folks who have worked with him and am fairly familiar with his work and research)
If we're talking hypotheticals, I'd much rather Microsoft open source the NT kernel and low-level subsystems (like ntdll.dll). Open sourcing all of Windows would be even better, but that seems nearly impossible to me.
"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.’"A guiding metric on lines of code. How could this possibly go wrong?
Maybe the plan is not testing because they think that Rust is "safe" and automatic translation is smarter than a typical Microsoft employee.
not really a high bar is it...
What can go wrong? Yikes...
The post is clearly aimed at self-promotion. The guy is basically referring to mundane things like using transpilers to generate Rust from C. Those have been around for a few years now, such as C2Rust[1]. At best, this sort of project is looking for corporate backing to politically handle this sort of migration.
At this point this sort of stunt is hardly technical, and instead it's something between a publicity stunt and managing technical debt.
C2Rust is not going to be very idiomatic.
Anyone who has experience with LLMs knows that strong typing, static validation, and testing is how you get the most out of codegen. The kind of thing Rust is for. I can think of ways to do this gradually, that would actually work.
It's something that would take years to see effects in a C++ codebase but I think the alternative of sticking with C++ is a dead end.
Somewhat relevant: I chuckled at this (quite accurate) 2 hour overview of the unfixable problems with C++: https://www.youtube.com/watch?v=7fGB-hjc2Gc.
Unreliable source: I worked at Microsoft (on C++) many years ago and I've been writing C++ on/off for ~15 years.
“If it compiles, it is probably correct” is a major aid if you do not actually understand what the code is doing. AI and the compiler could be powerful partners.
How do they intend to accomplish this? Assuming 40 hour work weeks (160 hours/month), and even assuming a developer would spend their entire 8 hour work day solely reviewing generated Rust code, that would still be ~104 lines of code per minute. At that point what value does the engineer they're hiring even have if they'd just be scrolling through the code and giving it a cursory glance?
> Update: It appears my post generated far more attention than I intended... with a lot of speculative reading between the lines.
> Just to clarify... Windows is *NOT* being rewritten in Rust with AI.
> My team’s project is a research project. We are building tech to make migration from language to language possible. The intent of my post was to find like-minded engineers to join us on the next stage of this multi-year endeavor—not to set a new strategy for Windows 11+ or to imply that Rust is an endpoint.
Word and Excel almost certainly have 30 year old C++ code that #must-not-be-touched, bugs and all.
Are they going to upstream their changes to the Google Chrome-codebase?
Most anything related to “intrusive linked lists” is difficult or outright impossible in safe Rust, but is commonly used in operating system code.
But it’s nothing more than marketing drivel. The goal is for clueless C-level folks to say “if MS can do this with their AI, surely we can take care of our problems using a few copilot subscriptions and a large layoff!”
A million lines of code per engineer per month, they say.
What a dreadfully bad use of excellent technology!
LLMs could help the review all that code, and help their programmers find problematic C or C++ code that could be fixed, or perhaps replaced with Rust.
What they are proposing is mindless foolishness. AI slop on an industrial scale
Rust is good. Rust is not magic