写点什么

Microsoft 推出 Bosque,一种编写易推理代码的编程语言

作者:Abhishek Kaushik

  • 2019-06-21
  • 本文字数:1210 字

    阅读完需:约 4 分钟

Microsoft 推出 Bosque,一种编写易推理代码的编程语言

微软最近推出了Bosque编程语言,这是一个探究性的语言设计研究项目,“用于编写对人和机器来说都简单、浅显、易推理的代码”。微软表示,“我们的目标是提高开发人员的工作效率,提高软件质量,并提供一系列新的编译器和工具体验。”该语言由受TypeScript启发的语法和类型,以及受MLNode/JavaScript启发的语义组合而成。它是微软开发的编程语言列表上的最新成员,其中包括TypeScriptC#F#等广受欢迎的语言。


Bosque 是一个被称为“正则化编程”的编程范例的实例,它是由微软首席研究软件开发工程师Mark Marron推出的。正则化编程以结构化编程模型的成功为基础,而后者在 20 世纪 70 年代就逐渐开始流行。结构化编程模型旨在提高计算机程序的清晰度和质量,同时通过使用选择、重复、块结构和子程序减少开发时间。


在介绍正则化编程的论文中,Marron 指出,结构化编程和抽象数据类型的兴起“表明编程模型从反映底层硬件体系结构附带特性的编程模型向更直接地强调程序员意图的模型的转变”。这种转变使开发人员可以更轻松地将系统的心智模型转换为代码,而且不易出错,使我们进入了编译器和 IDE 工具开发的黄金时代。”按照他的说法,“这些编程方法通过消除非本质复杂性的根本来源,简化了程序的推理。”在他的论文中,他列出了一些结构化编程模型没有处理的额外的复杂性来源,并通过 Bosque 演示了如何通过正则化编程设法消除这些复杂性,改善软件质量、程序员生产力和编译器/工具。


这篇论文根据对开发人员的访谈、分析/运行时/编译器开发的个人经验和实证研究,列出了复杂性的五个主要来源。这些来源包括可变状态和帧、循环、递归和不变量、不确定行为(排序稳定性、Map/字典枚举顺序等)、违反数据不变量、等式和别名。根据 Marron 的说法,这些产生各种 Bug 家族的原因,增加了在程序中实现功能所需的工作量,并且极大地复杂化了关于程序的自动推理。Bosque 通过使用不可变数据、消除循环和限制递归、完全确定语言语义、引入代数批量数据运算符等多种语言特性来处理这些问题。


这种语言引起了社区的注意,人们在 Reddit、HackerNews 和 Twitter 等论坛上讨论这种语言的特性、语法及其用途。用户 arrow7000 在HackerNews上询问 Marron 关于该语言的用途,以及与现有语言相比,它是如何变得更好的。按照 Marron 的说法,Bosque 计划作为概念验证来探索语言的设计选择,其目标是实现自动化开发工具,如编译器和验证器。


Bosque 的GitHub页面提到,该项目尚处于早期阶段,欢迎学术合作和社区参与。该页面指出,Bosque 的功能有限,并且承认其存在 Bug,因此建议将其试验性地用于次要项目,而不是用于任何生产工作。此外,由于项目的主要焦点是核心语言设计,所以只提供有限的编译/开发支持,而且不支持打包、部署、生命周期管理等。


要了解更多信息,请查看 Bosque 的GitHub页面


查看英文原文:Microsoft Introduces Bosque, a Programming Language for Writing Easy to Reason About Code


2019-06-21 08:00876
用户头像

发布了 741 篇内容, 共 481.2 次阅读, 收获喜欢 1549 次。

关注

评论

发布
暂无评论
发现更多内容

Axure RP 10 for Mac(交互式原型设计)

Mac相关知识分享

Audio Hijack for Mac(强大的音频录制软件)v4.4.5直装版

小玖_苹果Mac软件

重塑未来:Cloud Studio引领云端开发与学习的新纪元

代码忍者

DCommander for Mac(两窗格文件管理器)

Mac相关知识分享

RapidClick for Mac(鼠标自动点击工具)

Mac相关知识分享

AutoMQ热招岗位,等你来投!

AutoMQ

Java 云计算 招聘 岗位 AutoMQ

Native Instruments Komplete Kontrol for mac(音源制作软件)v3.3.4免激活版

小玖_苹果Mac软件

唯品会Vip商品详情 API 接口:开发应用与收益深度剖析

科普小能手

API 接口 API 测试 唯品会商品数据接口 唯品会 唯品会商品数据采集

作业帮T30和步步高S7的区别

妙龙

作业帮 学习机 步步高

Premiere Pro 2024 for mac(pr2024 视频编辑器)

Mac相关知识分享

LLM 分布式训练六大关键技术介绍

Baihai IDP

AI gpu LLMs Baihai IDP

大模型安全 | “创造未来,安全同行” 北京站·第九期「度安讲」 技术沙龙开放报名

百度安全

杭州乘云联合中国信通院等单位正式发布《云计算智能化可观测性能力成熟度模型》标准

乘云数字DataBuff

云计算 可观测性 智能运维

Cookie for Mac(浏览器缓存清理工具)v7.4.6免激活版

小玖_苹果Mac软件

YT Saver for Mac(视频下载和转换器)v9.2.4激活版

小玖_苹果Mac软件

Keka for Mac(文件压缩解压工具)

Mac相关知识分享

AI智能体的开发流程

北京木奇移动技术有限公司

AI教育 AI智能体 软件外包公司

跬智信息(Kyligence)获评钛媒体2024“年度 AI 应用”

Kyligence

#人工智能 企业 AI 应用

【YashanDB知识库】要有好的跑批性能,有哪些参数要注意

YashanDB

数据库 yashandb

ACDSee Photo Studio 11 for Mac(苹果电脑数字图像处理软件)

小玖_苹果Mac软件

淘宝买家秀数据接口(taobao.item_review_show)丨淘宝API实时接口指南

tbapi

淘宝API接口 淘宝买家秀接口

有奖实践,基于 EMR StarRocks 实现游戏玩家画像和行为分析

阿里云大数据AI技术

阿里云 EMR paimon 镜舟 免费试用

Final Cut Pro for Mac(fcpx视频剪辑)

Mac相关知识分享

Steinberg SpectraLayers Pro for mac(Mac音频频谱编辑器)v11.0.50激活版

小玖_苹果Mac软件

Screen Wonders for Mac(3D壁纸屏保软件)v3.2.0激活版

小玖_苹果Mac软件

AI英语作文练习APP的功能

北京木奇移动技术有限公司

AI教育 软件外包公司 AI英语作文

BBEdit for Mac v15.1.3 多功能代码编辑器

小玖_苹果Mac软件

Steinberg WaveLab 12 Pro for Mac(母带制作工具) v12.0.50激活版

小玖_苹果Mac软件

WinX HD Video Converter for Mac(高清视频转换软件)v6.8.3激活版

小玖_苹果Mac软件

Axure RP 11 for Mac(快速原型设计工具)

Mac相关知识分享

SwitchResX for Mac(显示器屏幕分辨率修改工具)

Mac相关知识分享

Microsoft 推出 Bosque,一种编写易推理代码的编程语言_语言 & 开发_InfoQ精选文章