Bosque:微软新的无循环编程语言
- Bosque 语言旨在提高软件质量并提高程序员的工作效率。
- 它摆脱了可变状态、引用相等和循环等复杂性来源。
- 它的灵感来自 TypeScript 和 JavaScript 编程语言。
结构化编程和抽象数据类型在 1970 年代开始流行,从那时起,我们几乎在所有编程语言中都使用它们。这些方法使程序员可以专注于其代码的意图和核心行为,而无需担心硬件架构。很快,这导致了编译器和集成开发环境的黄金时代。
为了进一步提高工作效率、改进软件质量并提供多种新的编译器和开发人员工具体验,Microsoft 的工程师最近想出了一种名为 Bosque 的新编程语言。
Bosque 旨在为机器和人类编写简单易懂的代码。它提供了多种方法来避免编码和开发过程中的“意外复杂性”。
正则化编程
结构化编程模型中的流控制由条件、子例程和循环管理。另一方面,新的编程语言摆脱了诸如可变状态、引用相等和循环之类的复杂性来源。这就是开发人员将这种范式描述为“正则化编程”的原因。
Bosque 源自 TypeScript 启发的语法和类型加上 ML,以及 JavaScript/Node 启发的语义的组合。它支持无意见类型系统,使程序员可以使用不同的名义类型、结构类型和组合类型来灵活地对问题域的相关特征进行编码。
参考:微软 |超越结构化编程
该语言不使用“while”、“do while”和“for”循环,并且在应用条件时采用完全不同的方法。 Microsoft 的计算机科学家 Mark Marron 引入了“Functors”的概念,以取代结构化循环,同时提高软件质量。
带有符号变换器的函子
Bosque 提供专门的批量代数数据操作和对none的集成支持 (或可选数据)处理。它还支持集合处理的管道,以及if 并且匹配 作为表达式。
由于 Bosque 中的表达式原语集丰富,因此不需要大量语句组合器。该语言提供了一个断言 (仅对调试版本启用)并检查 (为所有构建启用)作为一流的功能,以及后置/前置条件和类不变量。此外,Bosque 中没有任何循环结构。
Bosque 在基于云的开发项目中可能非常有用,这些项目的架构依赖于微服务、无服务器功能和 RESTful API。它可以实现零成本加载以实现快速启动、超低开销跟踪和运行时性能变化最小。
下一步是什么?
这种新语言还处于开发阶段,如果你想测试它,代码可以在 GitHub 上找到。
初步实验表明,它可以提供多种下一代体验,例如 API 自动编组、改进的模糊测试、符号测试和具有稳定 GC 支持的实时编译。
阅读:NASA 编写安全关键程序的 10 条编码规则
Bosque 有待修改,存在一些错误和缺失的功能,性能仍有很大的提升空间。 Marron 和他的团队将专注于更高级的开发者工具体验,例如随着时间的推移自动设置内存使用范围,以及无需额外工作即可验证应用没有运行时错误。
工业技术