中科院计算所发布国产编程语言“木兰”-冯金伟博客园
工作人员向记者演示基于木兰编程的“下棋机器人”

  作者:赵广立,来源:中国科学报

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

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

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

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

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

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

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

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

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

  目前,“木兰”正从青少年编程教育入手培育生态。刘雷透露,在中科院持续加大对“少年硅谷”公益项目等的支持下,以“木兰”为基础延伸的自主研发编程软件、人工智能教材、教学装备目前已经投入到中小学、幼儿园使用。截至目前,“木兰”应用范围涵盖了贵州、甘肃、江西、湖南、重庆、青海、山西、陕西和四川等 18 个省市共 700 所中小学,计算所下属企业中科编易科技有限公司自 2018 年起已累计捐赠价值三千万元的教学装备。

  截至发稿时,“木兰”及相关软件可以免费获取。