微软开发全新程序语言 降低程序开发意外复杂度

原创
2019/04/23 16:33
阅读数 133

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

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

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

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

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

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

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部