“我们要彻底告别C++”,微软启动代码史上最大“拆迁”:Windows、Azure将用Rust重写
微软微软(HK:04338) 36氪·2025-12-23 17:42

微软的长期工程战略 - 公司计划在2030年前彻底消除其核心代码库中的C和C++代码,并全面迁移至Rust语言,这被视为一场系统级、组织级、工具链级的工程革命 [1][5] - 该目标涉及Windows、Azure等关键基础设施,是对全球规模最大的商业代码资产之一的系统性重构 [1] - 公司内部核心工程负责人Galen Hunt通过招聘贴文首次清晰公开了此项战略愿景 [2] 战略执行与组织架构 - 该战略由微软杰出工程师Galen Hunt领导,其团队隶属于CoreAI体系下的Engineering Horizons部门,项目名称为“可扩展软件工程未来” [6][7] - 团队核心使命是通过构建先进能力,帮助公司及客户实现规模化技术债务消除,其定位是面向未来的软件工程能力孵化组织 [6][7] - 执行策略是融合人工智能与算法技术,重写公司最庞大的代码库,愿景是实现“1名工程师、1个月时间、处理100万行代码” [5] - 公司已构建强大的代码处理基础设施,包括能在海量源代码上创建可扩展图谱的算法基础设施,以及能运用AI智能体进行规模化代码改造的人工智能处理设施 [5] 迁移至Rust的动机与进展 - 迁移的主要动机是解决内存安全问题,公司报告指出,过去12年间,每年通过安全更新修复的漏洞中约有70%属于内存安全问题 [12] - Rust语言通过所有权模型和编译期检查,在语言层面系统性降低了内存错误和数据竞争风险,对于操作系统、云基础设施等具有直接的安全收益 [16] - 公司已启动迁移工程,例如用Rust重写了Windows内核中的36000行代码,以及用于概念验证的DirectWrite Core库的15.2万行代码,且性能无退化 [11] - 公司高层此前已多次表态支持转向Rust,包括Azure CTO Mark Russinovich呼吁停止使用C/C++进行新的内核开发,以及副总裁David Weston宣布将用Rust重写部分Windows内核 [8][10][11] 技术挑战与行业讨论 - 面临的现实挑战包括C/C++在核心系统中的渗透深度极高,涉及性能约束、ABI兼容性、复杂的第三方生态,以及自动化改写的正确性验证等工程难题 [17] - 技术社区对彻底淘汰C/C++反应强烈,有观点认为语言本身并非问题根源,严谨的工程实践更为关键,并指出Rust并非万能灵药 [21][22][25] - C++“之父”Bjarne Stroustrup反驳称,当前的ISO C++标准可以实现绝对的类型安全和内存安全 [22] - 公司内部有资深开发者表示,曾以为借助AI和C++标准迭代可解决问题,但现已认为彻底替换至Rust是必要的 [26]