导读:微软正在对其最大的代码库进行现代化改造,并计划在本十年末之前淘汰所有 C/C++ 代码,取而代之的将是 Rust。
今年 7 月,微软曾披露,其内部的 AI 编程助手已被用于每月超过 60 万个拉取请求(PR)的代码审查,覆盖公司约 90% 的 PR 生成量。
12 月 20 日,微软杰出工程师加伦・亨特(Galen Hunt)在 LinkedIn 发文,进一步披露了公司在这一方向上更为激进的设想。
亨特表示道,他的目标是在 2030 年之前,用 Rust 语言和 AI 辅助相结合的方式,替换“每一行”C 和 C++ 代码。他的设想是,使一名工程师在一个月内完成 100 万行代码的编写工作。
加伦・亨特的帖子中还提到了一则招聘首席软件工程师的广告,该职位需要负责开发微软正在构建的用于实现这一目标的工具。
他如此写道:“这个职位的目的是帮助我们发展和增强基础设施,以便将微软最大的 C 和 C++ 系统转换为 Rust。”
如今,微软已经开发出一些工具来实现这一目标。
亨特这样写道:“我们构建了一个强大的代码处理基础设施。我们的算法基础设施能够大规模地构建可扩展的源代码图。然后,我们的人工智能处理基础设施使我们能够应用由算法指导的人工智能代理,大规模地进行代码更改。”
获得这份工作的人士将加入微软的“可扩展软件工程未来”团队,亨特表示,该团队的使命是“构建能力,使微软和我们的客户能够大规模地消除技术债务”。
他写道:“我们与内部客户和合作伙伴一起率先开发新的工具和技术,然后与其他产品团队合作,在微软和整个行业内大规模部署这些功能。”
图:享特在LinkedIn上的文章
与 C 和 C++ 语言的机制不同,Rust 是一种内存安全语言,这意味着它使用自动内存管理来避免越界读写和释放后使用时错误,因为这两种错误都可能使攻击者有机会控制硬件设备。近年来,各国政府均呼吁普遍采用内存安全语言(尤其是 Rust),以提高软件安全性。
微软亦呼吁更广泛地应用 Rust 语言。
2022 年,微软 Azure 云平台的首席技术官、技术院士Mark Russinovich 也曾公开表示将 Rust 成为新项目的默认语言。
同一年,微软操作系统安全与企业副总裁 David Weston也公开透露,公司将投资约 1000 万美元用于 Rust,使其成为公司用于系统工程的“一流语言”。
而且微软的开发者和科学家们一直在开发一款叫做Mini-C 的工具,可以自动将部分 C 代码转换为 Rust 代码。
这家软件巨头还创建了其它工具,帮助开发人员使用 Rust 编写 Windows 驱动程序。
微软提供种类繁多的产品。MSportals.io 网站列出了超过 500 个用于管理微软产品的活跃在线门户!该公司还拥有庞大的内部 IT 系统。
重写所有这些代码所需的工作量无疑极其巨大。可以肯定的是,这将暴露出大量自动化无法处理的特殊情况。
亨特本人在微软工作已接近 30 年,目前隶属于微软 CoreAI 体系下 EngHorizons 组织中的“未来可扩展软件工程”(Future of Scalable Software Engineering)团队。
微软的Rust项目引发争议
然而,亨特的言论似乎引发了争议,促使人们对原帖进行了编辑,以澄清“Windows *并没有* 用 Rust 和 AI 重写”。
亨特坚称这是一个旨在“开发技术,使语言之间的迁移成为可能”的研究项目。
“我发帖的目的是为了寻找志同道合的工程师加入我们,共同推进这项多年计划的下一阶段——而不是为 Windows 11+ 制定新的战略,也不是暗示 Rust 是一个终点,”他如此写道。
“锈迹斑斑”的语言正在流行
微软并非唯一一家转向Rust语言的公司。去年,谷歌Android团队的工程总监Lars Bergstrom表示,采用Rust编程语言的开发团队已经显著提高了生产力和效率。
美国国防高级研究计划局 (DARPA) 在 2024 年的一个项目中也宣布了这方面的计划,这次实际上是使用人工智能工具将 C 代码翻译成 Rust。
转向 Rust 的一个关键因素在于安全性。像 C 和 C++ 这样的流行语言一直饱受安全问题的困扰,由于其内存使用方式,很容易出现漏洞。
这些“内存安全漏洞”已成为企业安全团队和开发人员经常遇到的痛点,并引起了大西洋两岸安全机构的关注。
2022年,美国国家安全局(NSA)敦促各组织转向使用内存安全的编程语言,例如Rust、Python或Java。与此同时,NSA和CISA最近发布的指南再次敦促开发人员进行这种转变。
另外,Rust也在 Linux 内核编程中逐渐与汇编语言和 C 语言“平起平坐”。
作者:洛逸
参考:
https://careerhub.microsoft.com/careers/job?domain=microsoft.com&pid=1970393556639051
本篇文章为 @ 行动的大雄 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。