Microsoft旨在通过Bosque编程语言实现简单性

微软已经启动了一个新的开源项目来开发Bosque编程语言。 Bosque语言项目的目的是构建一种可避免在开发过程中“意外的复杂性”的功能性编程语言。

Bosque语言的设计目标包括提高开发人员的生产率,提高软件质量以及启用一系列新的编译器和工具体验。 新语言被定位为针对机器辅助,快速和可靠的软件开发生命周期的常规设计实验。

[发现Bossie奖的获得者:2018年最佳企业开源软件,用于软件开发,机器学习,云计算以及数据存储和分析。 ]

一个关键目标是消除意外的复杂性。 Bosque代码被认为对于机器和人类来说都是简单易懂的。 但是Bosque在这一点上仍处于发展阶段。 支持者不建议在任何生产工作中使用Bosque。 鼓励开发人员尝试一下。

为Bosque做出的一些功能和设计选择包括:

  • 所有值都是不可变的,Bosque采用具有不可变数据的功能模型。 Bosque文档指出,当代码块声明没有副作用时,可以简化对代码块声明的了解。 通过此模型启用的程序开发,复杂的工具和编译器优化的简化,功能语言受益匪浅。
  • 通过允许对可更新变量var!进行多次分配,将函数式编程与块作用域和{…}大括号融合在一起var!
  • 函数是一流的值和类型。
  • Lambda构造函数将lambda主体的代码定义与变量复制语义相结合,用于在lambda创建时关闭捕获的变量。
  • 一个简单的,没有问题的类型系统允许使用一系列结构,组合和名义类型来传达意图并编码问题域的相关特征。
  • 带类型的字符串提供了一种机制,用于以一种对人们有意义的方式并由类型检查器使用的方式,将有关字符串内容的已知结构提升为类型。
  • 可以通过ref参数传递来传递参数。 作为多返回值的替代方法,这简化了将变量传递给可以使用和更新它的方法的方案。 允许在参数中进行更新消除了所需的额外返回值管理。 此功能尚未实现。
  • 提供了命名参数,以及rest和read运算符。 它们可以在调用和构造函数操作中执行数据操作。
  • 提供一流的支持,用于表达各种不变性,完整性检查和诊断断言。
  • Bosque中的批量代数数据操作从批量读取和更新数据值开始。 运算符产生的帮助代码将重点放在总体意图上,并使开发人员可以对数据结构操作执行代数推理。 为数据类型,元组,记录和名义类型以及包括投影,多次更新和合并的操作提供了代数运算。
  • 具有迭代处理功能,可以将结构化循环换成高级迭代处理构造。 删除编写相同循环的样板可消除包括绑定计算在内的各种错误; 目的明确。

Bosque成为Microsoft最新的语言项目,该项目产生了包括C# (一种面向对象的语言)在内的语言。 F# ,一种功能语言; 和TypeScript,这是JavaScript的类型化超集。 微软在开发流行语言方面取得了很大的成功。 例如,C#在最近的RedMonk语言排名中排名第五,而TypeScript排名第十二,这是基于Stack Overflow的讨论和GitHub中的代码使用情况而得出的。

您可以在GitHub上找到Bosque文档,示例和参考实现 。 教程正在编写中。

From: https://www.infoworld.com/article/3390197/microsoft-aims-for-simplicity-with-bosque-programming-language.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值