7月份,我们报道过“微软正探索将Rust作为C和C++的安全替代方案”,根据微软的说法,Rust是一种从根本上考虑安全性的编程语言,他们将尝试使用Rust重写各种产品,因为在过去的十年里,该公司70%以上的安全补丁都提供了与内存相关的错误,而Rust正是解决这个问题的“良药”。
近日,微软透露了使用Rust代替C/C++编写Windows组件的实验的感受。虽然它并没有具体说明哪些产品将用Rust重写,但微软表示将随时向用户报告实验进展情况。
微软表示,目前的实验工作情况良好,工程师们描述在使用Rust上是“妙不可言”的。尽管有一些功能并没有完成,但会推动项目继续向前发展。
微软Hyper-V团队软件工程师Adam Burch在博文中说:
我的任务是对Windows代码库的一个低级别系统组件进行实验性重写(目前不能透露是哪个组件),虽然这个项目还没有完成,但总的来说,在Rust方面的试验体验是非常好(generally positive)。新的组件或现有的具有干净接口的组件移植到Rust是很容易的。
虽然,试验Rust的过程进展并不顺利,但话说回来如果预想是顺利的,那也显得不现实。Burch指出安全转换、对C的安全支持、准确的分配以及对大规模单元测试的支持,是微软庞大的代码测试基础设施所需要的。Burch认为,微软将通过努力塑造语言的未来,以提高其在这些情况下的有用性。
Burch补充说道,Rust在单片机和诸如内核和虚拟机监控程序等低级系统上有着光明的前景,在这些系统中,一旦成熟,该语言的安全性第一特性将使其具有相当大的吸引力。而目前,在单片机市场上,主要是英特尔在支持和推动,它正在努力使Rust达到与C相同的功能。
微软如果想使用Rust重写一些Windows组件,成为第一个这样做的操作系统制作商的话,那么应该要加快速度了,因为Linux项目也在考虑在一些内核驱动程序中使用Rust。