近日,微软杰出工程师Galen Hunt发布的一则招聘启事引发了技术圈的广泛关注。该启事不仅是一次人才招揽,更透露了一项极具雄心的技术愿景:计划利用人工智能(AI)与算法的结合,逐步将其庞大的C和C++代码库重写为Rust程序,并设定了到2030年完成这一转换的目标。
这一计划的核心驱动力源于对软件安全性的极致追求。微软及行业多年的安全报告指出,约70%的高危安全漏洞根植于内存安全问题,例如缓冲区溢出、悬空指针、释放后使用等。这些问题在C和C++这类赋予开发者高度内存控制权的语言中长期存在,任何疏忽都可能成为攻击者利用的入口。相比之下,Rust语言通过其独特的所有权模型和编译期检查机制,能够在不引入垃圾回收器性能开销的前提下,从语言层面系统性地防止此类错误的发生,从而大幅提升软件的可靠性与安全性。
微软对Rust的青睐并非一朝一夕。此前,公司高层如Azure CTO Mark Russinovich已多次公开呼吁在新项目中停止使用C/C++,并转向Rust。在实践层面,微软已取得初步成果,例如使用Rust重写了部分Windows内核代码,新代码在安全性上表现出“安全失败”的特性——即在遇到潜在漏洞时会直接崩溃,而不是被攻击者利用来提升权限。此外,像DirectWrite字体渲染库等组件在用Rust重写后,不仅消除了旧有顽疾,甚至在性能上也有所提升。
然而,将数十年积累的数亿行C/C++代码自动迁移,其难度不言而喻。为此,Galen Hunt的团队提出了一套“AI + 算法”的双轮驱动策略,并设定了“1名工程师、1个月、处理100万行代码”的效能目标。该策略并非简单的代码翻译,而是首先通过算法对海量源代码构建可扩展的图结构,深入理解代码的逻辑拓扑和依赖关系;然后,再由AI代理在算法的指导下,进行规模化的代码重写与语言转换。这背后是微软更宏大的战略:将AI深度融入软件工程,推动开发范式从传统“手工业”向“自动化工业”转型,而AI工程师的角色也正从代码的生产者转变为架构师与审计员。
尽管愿景宏大,这一计划也引发了业界广泛的讨论与质疑。许多开发者认为,这是解决历史技术债、迈向更高安全标准的重要一步。但反对和疑虑的声音同样强烈。C++之父Bjarne Stroustrup就曾表示,通过遵循现代C++标准和严谨的工程实践,同样可以实现高度的内存安全。批评者担心,对Rust的“神化”可能忽视了业务逻辑的复杂性,将经过实战检验的成熟代码替换为未经充分测试的AI生成物,其质量风险难以估量。此外,与底层API(如Win32)的交互在Rust中仍需大量使用`unsafe`代码块,这在一定程度上也违背了追求绝对安全的初衷。
面对热议,Galen Hunt后续也澄清,该计划目前是一个旨在开发代码迁移技术的多年期研究项目,而非立即对Windows等核心产品下达的硬性战略。尽管如此,这起事件清晰地揭示了一个深刻趋势:随着AI技术的成熟,长期以来被视为“不可触碰”的庞大遗留代码资产,正被重新纳入可规模化治理的范畴。这不仅是一场关于编程语言更替的讨论,更是一次关于AI能否承载底层系统稳定性的终极实验,其成败将对未来软件工程的发展方向产生深远影响。