Bosque:微软推出无循环编程语言,重塑代码质量新范式
- Bosque语言旨在提升软件质量与开发者生产力
- 消除可变状态、引用相等性、循环等复杂性根源
- 灵感源自TypeScript与JavaScript
结构化编程与抽象数据类型于1970年代流行,此后几乎所有编程语言沿用至今。这些方法论让程序员聚焦代码意图与核心行为,无需关心硬件架构,催生了编译器与IDE的黄金时代。
为进一步提效、提质、赋能新一代编译器与开发工具链,微软工程师推出全新编程语言——Bosque。
Bosque设计目标:编写人机均易于推理的简洁代码。提供多种手段规避编码开发中的"意外复杂性"。
正则化编程
结构化编程通过条件、子程序、循环控制流程。Bosque则摒弃可变状态、引用相等性、循环等复杂性根源,故开发者称其范式为"正则化编程"。
Bosque融合TypeScript风格的语法与类型系统、ML语言特性,以及JavaScript/Node风格的语义。支持非强制类型系统,程序员可灵活使用名义、结构、组合类型编码问题域特征。
参考:微软 | 超越结构化编程
语言摒弃while、do-while、for循环,条件处理采用全新方法。微软计算机科学家Mark Marron引入"函子"概念替代结构化循环,提升软件质量。
函子与符号变换器
Bosque提供专用批量代数数据操作、集成none(可选数据)处理、集合处理管道、if与match表达式。得益于丰富表达式基元,大幅减少语句组合器需求。语言内置assert(仅调试构建启用)与check(所有构建启用)作为一等特性,并支持前置/后置条件与类不变量。完全无循环构造。
Bosque极适合依赖微服务、Serverless函数、RESTful API的云原生开发:可实现零成本加载快速启动、超低开销追踪、性能抖动极小的运行时。
未来展望
新语言仍处开发阶段,代码已开源至GitHub供测试。初步实验显示可赋能多项下一代体验:API自动封送、改进模糊测试、符号化测试、带稳定GC支持的实时编译。
延伸阅读:NASA编写安全关键程序的10条编码准则
Bosque持续迭代中,存在Bug与功能缺失,性能仍有大幅提升空间。Marron团队将聚焦高阶开发工具体验:自动设定内存使用随时间变化的边界、零额外成本验证应用无运行时错误。
工业技术