查看原文
其他

Moonbit(月兔)平台背景&应用场景介绍

Moonbit运营组 Moonbit 2023-08-30

点击蓝字

关注我们


IDEA基础软件中心开发的平台Moonbit(月兔)专为云计算、边缘计算设计,和以往的微创新不同,Moonbit具有跨平台、体积小、编译速度快等特性,以下内容对Moonbit的背景以及应用场景进行简单的介绍。




为什么选择开发一个基础软件平台 



去年9月张宏波老师有幸加入IDEA粤港澳大湾区数字经济研究院负责创建新的基础软件中心,希望新的中心能在工业界取得最大的影响力。


虽然中国在学术论文发表方面已经居于世界最前列,但在大部分科技领域尤其是基础软件领域中依然处于大而不强的状态。其中很大的难点在于国内缺乏自己的开发平台。


拿Matlab做例子,国内的研究人员可能会发一些数值算法或者机器学习很好的论文,论文的成果可能最终转换成Matlab的工具箱的某个函数而不能沉淀在自己的生态里面。


在基础软件领域,特别是在程序语言方面也是类似,业界比较流行的编程语言的社区都集中在欧洲发展,比如Haskell的社区发展基本都围绕在英国的GHC中,法国和瑞士的PL在业界公认一流,也是因为像法国INRIA这样研究机构主导了OCaml,Coq的开发,瑞士的EPFL拥有自己的研究平台Scala。


开发Moonbit平台是一个“道阻且长,行则将至”的过程,开发编程语言工具链以及培养自己的生态需要投入大量的时间和精力,但如果能让国内的基础软件学者和工业界开发者能够在自己的平台上沉淀积累,这在工程和学术的角度都具有重要意义。当然,基础软件中心团队前期也做了大量的准备工作,核心团队参与并主导过ReScript语言工具链和生态的搭建,这为中心迈出第一步打下了基础。



为什么是Moonbit



Moonbit是针对云计算、边缘计算而设计的一整套端到端解决方案;2017年正式推出的高效、可跨平台指令集WebAssembly(简称Wasm) 已成为实现云计算、边缘计算的首要解决方案。


从目前来看,现有的Wasm供给端(比如C++和Rust)作为底层开发语言,并不是程序员理想的开发环境,所以团队希望通过专注于Wasm,获得后发优势,并已经成功实现体积方面实现比Go这一类传统语言小3-4个数量级的优势。Moonbit的速度和体积能得到很大的提升,也是因为Moonbit设计是基于Wasm开发的全新平台,不存在传统语言所存在的历史包袱。


另一个显著特点是Moonbit平台将IDE的优先级放得很高。这一点宏波老师从之前开发的ReScript上取得了一些经验。许多编程语言在经历了很多年之后,才会有社区的人帮助开发相应的IDE,这导致IDE与语言设计的不匹配,从而造成了许多不必要的工作。为了避免这种情况,在Moonbit平台上,语言和IDE的设计、构建系统同时进行并且垂直整合,以确保IDE的效率。


第三个特点是全局优化。IDE和类型系统对于用户体验是非常重要的,但还是一个语言生态搭建的必要非充分条件。为了实现全局优化,Moonbit平台进行了架构上的改进,以提高生成代码的性能和体积。


Moonbit运行单文件的毫秒级速度



Moonbit实现重命名与跨文件交互功能


IDEA研究院对这次语言内测发表了一篇文章《编程语言Moonbit开放内测:极快编译速度,极小Wasm体积》,里面有对语言更为详细的介绍和演示,我们希望更多人来试用这个平台,以及互相交流试用后的反馈。


在上周,基础软件中心团队在bilibili平台上举行了一场直播,由宏波老师亲自介绍Moonbit平台背景并展示了语言特性,感兴趣的同学可在B站账号“张宏波的基础软件课程”观看回放。




1.欢迎试用moonbit并在论坛留下反馈:

https://try.moonbitlang.com/


2.Moonbit语法文档:

https://github.com/moonbitlang/moonbit-syntax


3.论坛链接:

https://taolun.moonbitlang.com/



官方平台账号,欢迎扫码关注



Moonbit


知乎|@张宏波 

Twitter丨@Moonbitlang

Bilibili丨张宏波的基础软件课程

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存