活久见,微软要淘汰 C 语言了?
这几天,微软杰出工程师 Galen Hunt 在 LinkedIn 发布了一条招聘 IC5 首席软件工程师的帖子,立刻引起了巨大争议。
我的目标是在 2030 年前彻底淘汰 Microsoft 所有的 C 和 C++ 代码。
并表示,正在招聘的这位首席软件工程师职位的目的就是:
"帮助微软发展和增强基础设施,用 Rust 重写微软最大的 C 和 C++ 代码库。"
更让网友震惊的还有帖子中提到的要结合 AI 和算法,愿景是能实现" 1 个工程师,1 个月,100 万行代码"。
这个强度也是有点超乎我的想象了,有没有经历过的友友在评论区分享一下~
这里放上原帖内容,感兴趣的小伙伴可以看看:
帖子刚一发出,外网上就炸开了锅,网友纷纷表示这件事不靠谱,担心后续 Windows 的使用。
突如其来的热度也让 Galen Hunt 紧急辟谣,更新了原帖,澄清 Windows 并没有在由 AI 用 Rust 重写。
瓜到这里就吃完了,但是带来的影响却不是到此为止。
一起来看看~
一、Why Rust,why now
Rust 是由 Graydon Hoare 出于兴趣爱好设计,2006 年在 Mozilla 开始成形,并于 2010 年首次公开亮相。
2015 年,随着 Rust 1.0 的发布 ,它开始作为 C/C++的替代方案受到广泛关注。
与 C 和 C++ 不同,Rust 是一种内存安全语言,它采用自动内存管理,以避免越界读写和使用后错误,这两者都为攻击者提供了控制设备的机会。
从 C/C++ 转向 Rust 并不是什么突然冒出来的事。
早在 21 年,Rust 就进入了 Linux 内核,用来开发新的 Linux 内联代码。
2022 年,美国国家安全局 NSA 就在督促各组织从 C/C++ 转向其他内存安全的编程语言。
苹果、亚马逊、谷歌、Cloudflare 和 Meta 等许多公司都在某种程度上或在其生产环境中使用 Rust 。
GitHub 上甚至有人统计了使用 Rust 的公司,感兴趣的友友可以去瞄一眼。
https://github.com/omarabid/rust-companies
微软转向Rust的探索
微软至少从 2019 年起就在讨论放弃 C/C++ ,转向使用 Rust 。
2019 年,微软 MSRC 首席安全工程经理加文·托马斯发现其 70% 的常见漏洞与暴露( CVE )安全问题是由开发者在 C 和 C++ 代码中犯下内存损坏错误引起的。
并提出:
也许是时候摒弃不安全的遗留语言,转向更现代、更安全的系统编程语言了。
而他当时想到的语言正是强调速度、内存和安全以及其他安全特性的 Rust 。
但他同时也意识到,现有代码、开发者技能以及围绕 C 和 C++ 庞大的工具和库生态系统意味着转向更安全语言是一个缓慢且长期的过程。
这些年,微软在这方面也是在持续探索。
2022 年,微软 Azure 云的首席技术官宣布 Rust 成为新项目的默认语言。
2023 年,微软宣布将使用 Rust 重写部分 Windows 内核。
今年年初,微软还开发了一种工具,可以自动将部分 C 代码转换为 Rust 。
Rust 变得更加流行 从 C/C++ 转向 Rust 经验更加丰富 日益增长的内存安全需求 AI 编程能力的升级换代
这些趋势看下来,微软做出完全淘汰 C/C++ 代码这样的选择似乎时机正正好。
我对 Rust 不太懂,但还记得本科那阵,虽然不是计算机专业,C++ 也是学院的必修课,学分还不低,难道它真要成为时代的产物了?
来看看 LinkedIn 上专业工程师都怎么说。
对此,X 上的风向是一边倒。
还有很多网友将这个计划扯到了对 AI 的狂热上。
说完了 Rust ,我们再来说说这个计划里的另一个角色:AI 。
二、AI+大规模系统工程?
帖子中提到,这个项目的使命是:
构建能力,使微软和我们的客户能够大规模消除技术债务。
我来试着翻译一下,"大规模消除技术债务"的直白说法就是解决屎山代码。
关于 AI 代码理解、代码生成能力不过多评价。
海量经过实践检验过的代码,以一个工程师就要一个月 100 万行代码的速度改写?
这里面的挑战性和不确定因素无需多言。
还有个关键点在于微软不再是局部重写代码,而是要重写全部 C/C++ 代码库。
这意味着 AI 不仅是要有处理海量代码、大规模系统的能力,更是要足够稳定、强大到可以插手操作系统级、基础设施级工程。
而现在我们体验到的 AI 编程能力,离这样能够规模化、系统化重写代码的水平,似乎还差着一大截。
可能相比起编程语言的转换,让 AI 来做系统工程更加是一众网友恐慌的原因。
虽然 Galen Hunt 强调这是个 multi-year 过程,但我们离 2030 并没有多远,而代码是真的很多啊喂。
三、最后
AI 到底能不能做到规模化重写代码并且不出问题?
2030 年前,微软能不能真照计划实现把所有 C/C++ 代码转向 Rust ?
各位小伙伴怎么看?可以留在评论区里交流一波~
最后,不得不吐槽一句,这还是我第一次见招聘启事发的像是新闻通稿的。
这位杰出工程师写这篇帖子的时候肯定没用 AI (doge)。
>/ 本期作者:Tashi & JackCui
>/ JackCui:AI领域从业者,毕业于东北大学,大厂算法工程师,热爱技术分享。
没有评论:
发表评论