微软在GitHub上开发了一个受锈迹启发的维罗纳项目编程语言
微软(Microsoft)最近引起了轰动,因为它透露,它正在“维罗纳项目”(Project Verona)的旗帜下,借鉴流行的编程语言Rust的一些想法,创建一种用于“安全基础设施编程”的新语言。
英国剑桥计算机实验室(Cambridge Computer Lab)的微软研究员马修•帕金森(Matthew Parkinson)在去年末的一次谈话中,首次详细介绍了维罗纳项目,并承诺微软将很快开放该项目的源代码。
微软研究院现在已经在GitHub上完成了开源项目Verona,提供了更多关于这个项目的细节,以及它通过更好的内存管理、分区和“无处不在的沙箱”来构建更安全系统的雄心。维罗纳项目也得到了伦敦帝国理工学院学者的资助。
正如Parkinson所解释的那样,Verona项目旨在帮助用C和c#等不安全语言编写的代码实现安全,这些语言仍然存在于微软的许多遗留代码中,微软不能浪费这些代码,但希望更好地保护它们。
"我们将运行一些我们不相信的C和c++,"Parkinson在会上表示。“我们要把它放在一个盒子里,我们知道有这个区域的物体,我们必须非常小心,但那里有一组东西,我们可以在那里建立一些普遍的沙箱。所以我们可以把沙盒库嵌入到我们的沙盒维罗纳程序中。”
维罗纳项目的GitHub页面概述了该小组正在研究的一些高级问题,这些问题将在即将发表的同行评议文章中进一步阐述。这些问题包括:
此外,Rust并不是唯一鼓舞Project Verona的语言,它还借鉴了Cyclone(一种“C语言的安全方言”)和Pony(它的主要贡献者来自Microsoft Research)的概念。
由Parkinson编写的GitHub页面强调,Verona项目不是一个产品,也与微软正在使用的c++、c#和Rust无关。微软去年透露,它正在用Rust代替C和c++来编写低级别的Windows组件。
“维罗纳项目是一个不影响公司工程选择的研究项目,”它说。
“维罗纳项目团队与使用公司所有主要语言的人有联系,希望从他们的经验中学习,这样我们就可以研究重要的问题。”
此外,微软认为维罗纳项目是一种“研究编程语言”,并希望通过开放源代码来吸引那些想要探索并行所有权概念的学术合作者。
Parkinson还提供了一份更详细的维罗纳项目目标、概念的纲要,以及它在系统编程中的位置。
他写道:“通过维罗纳项目,我们正在开辟一个系统编程领域,即‘基础设施编程’,它具有重要的性能和可预测性要求,而不需要对机器进行原始访问。”
“在维罗纳项目中,我们并不期望我们的研究语言适合实现维罗纳运行时本身。这显然不是这个项目的目标。”