半个世纪以来,C和C++的身影几乎渗透进所有人的数字生活。无论是办公室里的Windows系统,云端的数据平台,还是每一次软件小心翼翼的更新背后,都隐藏着这两种老牌编程语言的脚印。但在2024年,一场属于软件世界的深度手术已经悄然揭开序幕。微软高管Galen Hunt明确表示,公司要在2030年前让这些老旧C/C++代码逐步退出舞台,由Rust全权接棒。这不是一时兴起的小尝试,而是直接针对包括Windows和Azure等关键基础设施在内的大规模“换血”,涉及数亿行代码的庞大重建行动。
这种举动对全球科技圈来说意味着微软即将展开一次技术自我革命,并不只是简单工具升级。今年春天,Galen Hunt通过LinkedIn公开号召,透露他们正打造一种结合AI与算法力量的新型架构,使一位工程师用一个月时间就能迁移百万行旧代码。团队重视多元、勇于冒险,还专门招募精通Rust的开发者帮助实现这个目标。这项变革计划穿越微软深层组织,不仅关乎自家命运,更将带动合作伙伴应对未来的复杂问题。
其实,这颗由内存安全引发的“定时炸弹”,微软不是首次提及。2023年,副总裁David Weston便在Blue Hat大会上秀出Rust内核代码片段;到当年末,公司完成了36000行Windows核心代码以及部分DirectWrite Core库的Rust重写。更早时候,Google Chrome团队、Meta等也曾因频繁的内存漏洞尝试将部分C/C++模块替换为新语言。回顾2019年,微软披露过去12年修复的安全bug中有七成归因于内存管理失误——这一比例广泛存在于大型互联网公司的底层建设里。C/C++赋予开发者极高的灵活性,却也留下许多利用率极高的攻击入口,例如缓冲区溢出和双重释放,行业付出的代价可见一斑。
Rust被选为“清算”继任者,因为它巧妙地把控了权限:通过所有权模型、编译期检查,使得堆损坏、野指针等噩梦难以翻身。而且,与Go、Swift不同,Rust保留了面向系统级高性能任务的能力,提升安全性的同时降低长期维护负担。在此之外,日本软银去年开始对物联网终端设备采用Rust,确保远程控制不会因固件漏洞而崩溃瘫痪。同类经验也出现于德国大众集团,其自动驾驶研发平台2022年宣布将部分C++模块切换为Rust,从而减少功能车协同过程中的单点故障风险。可以说,微软迈出的这步棋并非孤例,已成为主流科技企业正在认真推动的趋势。
但质疑声仍旧挥之不去。有资深C++程序员嘲讽道,真正优秀的代码质量远胜于语言本身,Java项目、Python应用同样会暴露出高危漏洞。C++之父Bjarne Stroustrup则强调,如今的ISO C++标准已具备追求绝对类型安全的能力,愿意适应的人完全可以做到。这种声音尤其在金融、嵌入式领域比较常见,认为Rust无法满足如引导程序等极致苛求的性能场景。另外,在资源占用和调试生态的某些角落,C/C++依然拥有理论上的不可替代优势。
转而分析,微软其实并没有急于“一刀切”,更多体现为稳步演进。考虑到C/C++在现有系统里的深度融合,项目团队不得不兼顾旧版接口兼容、机器环境适配、测试和审计等环节,自动化改造并不意味着一劳永逸。例如,Meta对Instagram部分后台做语言重构后,至少花了一年与开发者一起打磨工具链,排除真实业务下的不稳定因素。此前Google针对Android内核Rust化实验,也发现系统调用兼容机制需要多人月的持续投入和数据监控。
类似胆大的尝试背后,是AI辅助、工程文化与实际产品需求共同驱动的结果。如果最终成功,微软不仅完成一次系统级代码自愈,也可能证明遗留系统治理将全面进入新的智能范式。不过老旧C/C++代码还有漫长的余生要走,毕竟,同样主打安全的Ada语言当年也雄心勃勃,但最终守得最多的却是航空航天和军工细分行业。微软技改命题悬念尚未揭晓,业界只能耐心等待。