APP下载

微软正开发没有循环的程式语言Bosque

消息来源:baojiabao.com 作者: 发布时间:2024-05-20

报价宝综合消息微软正开发没有循环的程式语言Bosque

微软研究院正在开发全新程式语言Bosque,以简单易懂为诉求,降低程式开发过程的意外复杂度(Accidental Complexity),还支援一系列新的编译器与开发工具,最终目的是要在提高开发人员生产力的同时,又能让程式拥有良好的品质。Bosque作者为微软首席研究软件设计工程师Mark Marron,其最近主要的工作还有开发时间旅行除错工具。

Mark Marron发表的论文提到,1970年代结构化程式语言和抽象资料类别,为程式语言开发模型带来了一波改变,让开发者不需要这么在意底层基础结构,把心力放在功能的实现上,因此开发人员的想法更容易实现,程式也更不容易出错,而现在Mark Marron顺着这个开发模型的想法,进一步提升开发体验,发表了使用规范化程式开发方法的程式语言Bosque。

Bosque参考了TypeScript的语法,并综合了语意机器学习和Node/JavaScript,Mark Marron提到,由于在过去结构化程式开发模型中,流程控制是由循环、条件和子程式所组成,而Mark Marron列出了循环、参照相等和可变状态等五个造成程式码意外复杂度的来源,开发人员可能为了解决问题,而又为自己创造了更复杂的问题。

Bosque去除了这些可能产生意外复杂度的概念,以循环(下图左)来说,Bosque不再使用for、while和do while等循环,使用称为Functors(下图右)的概念,可以完成相同的工作,但是却能有效降低程式复杂度。Functors是一系列高阶迭代处理结构,Mark Marron表示,开发人员不需要重复撰写相同循环的样板,能够消除一系列像是边界算数类的错误,并让开发者使用描述性命名Functors,而非一组共用循环模式。

Mark Marron提到,Bosque消除现有结构化程式开发模型中的主要错误来源,让程式码更加容易理解与修改,发展出规范化程式开发方法(Regularized Programming),而论文证明了规范化程式开发方法可以直接提升软件品质以及开发人员生产力。

目前Mark Marron将Bosque相关程式码开源于GitHub,以利学术界与开发社群合作,但这个专案目前仍在早期阶段,不只存在错误且功能有限,开发者不应该用于正式的生产环境。

2019-04-23 11:17:00

相关文章