微软最近透露出它正在从流行的Rust编程语言中汲取一些想法来创建一个新的轰动,该项目以项目Verona的名义为“安全基础结构编程”创建了一种新语言。
英国剑桥计算机实验室的微软研究员马修·帕金森(Matthew Parkinson)在去年下半年的一次演讲中首次详细介绍了维罗纳项目,并承诺微软将尽快开源该项目。
Microsoft Research现在已在GitHub上跟踪并开源了Project Verona,并提供了有关该项目的更多详细信息,以及通过更好的内存管理,分区和“泛滥的沙箱”来构建更安全的系统的雄心。伦敦帝国学院的学者也为维罗纳计划提供资助。
正如帕金森解释的那样,维罗纳计划旨在帮助保护仍然不存在于Microsoft的许多旧代码中的不安全语言(如C和C#)中的代码,Microsoft不会浪费这些代码,但希望提供更好的保护。
帕金森在会上说:“我们将运行一些C和C ++,这是我们不信任的东西。” “我们将其放入一个盒子中,我们知道存在物体的这一区域,我们必须非常小心,但是有一系列事情正在发生,我们可以在那里建立一些普遍的沙箱。因此可以是沙盒库,我们可以将其嵌入沙盒Verona程序中。”
维罗纳项目的GitHub页面概述了该小组正在研究的一些高级问题,这些问题将在以后的同行评审文章中充实。问题包括:
如果我们设计的语言没有并发突变,那么我们可以构建可扩展的内存管理吗?
可以在不牺牲内存管理的情况下使用线性区域消除每个对象线性的限制吗?
语言级别的区域可以用来支持分隔吗?
同样,Rust并不是激发Verona项目灵感的唯一语言,该语言还借鉴了Cyclone(一种“ C的安全方言”) 和Pony的概念,Cyclone是Microsoft Research的主要贡献者。
由帕金森撰写的GitHub页面强调,维罗纳计划不是产品,并且与微软对C ++,C#和Rust的持续使用没有关系。微软去年透露,它正在尝试使用Rust而不是C和C ++来编写底层Windows组件。
它说:“维罗纳项目是一个研究项目,不会影响公司的工程选择。”
“维罗纳项目团队使用公司所有主要语言与人们联系在一起,并希望从他们的经验中学习,因此我们可以研究重要的问题。”
此外,微软将维罗纳项目视为一种“研究编程语言”,并希望通过开放源代码,可以吸引希望探索并发所有权概念的学术合作者。
帕金森还提供了维罗纳计划的目标,概念及其在系统编程中的适用范围的更详细的清单。
他写道:“有了维罗纳项目,我们将在系统编程领域开辟一个基础设施编程领域,该领域具有重要的性能和可预测性要求,而无需对机器进行原始访问。”
“在Verona项目中,我们认为我们的研究语言不适合实现Verona运行时本身。这显然是该项目的目标。”