中科院计算所发布国产编程语言“木兰”

 中科院计算所发布国产编程语言“木兰”

工作人员向记者演示基于木兰编程的“下棋机器人”

1 月 15 日,记者从中国科学院计算技术研究所(以下简称中科院计算所)计算机体系结构国家重点实验室获悉,由该实验室编译组主导研发的国产编程语言“木兰”正式发布。

据中科院计算所副研究员、计算机体系结构国家重点实验室编译组负责人刘雷介绍,“木兰”是一款定位于面向智能物联应用、采用最新编程语言设计理念和编译技术的程序设计语言,开发团队致力于将其打造为“智能物联时代的C语言”。

说起“木兰”这个名字,其中还有段小故事。

刘雷告诉《中国科学报》,Mulan 原本是 Module Unit Language 的简写,直译即“模块单元语言”。“我们最初就是想做一种能像模块组合一样方便的、可以随时扩展语言的编程语言,缩写词‘MuLan’中的M是希腊第十二个字母(小写为μ,音‘谬’),表示‘微小’的意思,表明这是一款简易的语言。”刘雷说,没想到,中科院计算所学术委员会主任徐志伟一下就念成了“木兰”。

“我们都觉得‘木兰’更好,有浓浓的中国文化印记。用‘木兰’命名这样一款国产编程语言,再合适不过。”刘雷对《中国科学报》说。

随着人机交互频次的日益增长,编程正成为这个时代“第三重要的基础学科”。编程语言也和操作系统一样,是信息技术领域重要的系统软件。并且,信息技术行业的生态环境也往往是从编程语言开始建立的。“如谷歌公司在云计算领域推出的 Go 语言、苹果公司自行设计的 Swift 语言、Oracle 控制的 Java 语言标准等等。”刘雷说,一旦某个编程语言在一个领域建立了自己的生态系统,那么它的地位几乎很难撼动。

“‘木兰’是由编译实验室完全自主设计、开发和实现的编程语言,与之配套的编译器与集成开发工具也完全由团队自主实现,是我们真正掌握核心技术的编程语言。”刘雷告诉《中国科学报》,“木兰”定位为下一代重要应用——智能物联的开发语言,它采用创新的弹性 actor 执行模型(擅长执行并行计算,笔者注),可成倍地提高应用执行效率,在提高服务质量的同时大幅降低平台运营成本。

刘雷解释说,目前在智能物联应用领域,尚无一款专用的编程语言,在既有的语言系统中做智能应用开发,需要多个工程师、跨多种语言实现,导致开发效率低下。“木兰”就致力于打造物联网智能执行平台,并为编写的应用程序提供执行环境。

不过,刘雷也表示,编程语言生态的建设需要数年的漫长周期才会逐渐成熟,目前物联网应用行业生态土壤并不丰沃,因此“木兰”的产业应用积累还不够。他希望智能物联应用领域的开发者多多尝试使用“支持跨平台、同时能很好地支持龙芯等国产处理器”的“木兰”搭建开发环境,增强智能产品体系生态的自主可控性。