close
技圈

中科院开发者公开道歉:将木兰编程语言夸大为「完全自主开发」

木兰编程语言

简评:何必要一直强调「完全自主」呢!

1月15日,中科院计算所的计算机体系结构国家重点实验室发布了国产编程语言“木兰”。刘雷当时告诉《中国科学报》,木兰是针对智能物联的开发语言,由编译实验室完全自主设计、开发和实现。当时刘雷将木兰与谷歌的Go语言、苹果的Swift语言、Oracle控制的Java语言标准相类比,并表示希望能建立智能物联的应用生态。

很快有业内人士发现:使用木兰制作的程序图标与Python完全一样,并且安装后的文件夹里有大量“.pyd”文件,正是Python的文件格式。木兰似乎是在Python上做了一个接口,底层编译和优化工作仍由Python来做。

1月17日,项目负责人、中科院计算所编译实验室员工刘雷在科学网上发表回应称,木兰语言在8位单片机上的编译器是本团队开发的,在32位单片机上的编译器是基于Python开源编译器进行的二次开发,但在接受采访中将木兰编程语言和编译器夸大为完全自主开发。

刘雷关于“木兰”编程语言的情况说明全文如下:

本人系中科院计算所编译实验室员工。基于我在编译技术上的科研积累创办了中科智芯(北京)科技有限公司,该公司围绕青少年编程教育,设计开发编程语言、编译器和集成开发环境等产品。

为了更好地在中小学中普及计算思维,本人带领团队开发了一种称为“木兰“的编程语言。它包含三个组成部分:一、在语言规范上借鉴了Lua语言的特性并进行了扩展,增加数据表达方法等新的特性;二、开发了支持少儿编程教育的可视化编程环境;三、针对8位AVR单片机,实现了相应的编译器和运行时系统,开发了能模拟多任务执行的虚拟机。以上产品已经在数百所中小学中,开展了10万人次的编程科普活动。

针对STM32单片机,我们是基于Python开源编译器进行的二次开发,也就是先将木兰语言的源程序转换为Python的中间表示(AST),再在Python虚拟机上运行。这就是在开发和运行环境中会包含Python系统的原因。

在1月15日接受媒体采访时,本人在对木兰编程语言的介绍中,犯了以下错误:

1. 木兰编程语言主要是用于中小学教育,在介绍中将它扩大到智能物联领域。

2. 木兰语言在8位单片机上的编译器是本团队开发的,在32位单片机上的编译器是基于Python开源编译器进行的二次开发,但在接受采访中将木兰编程语言和编译器夸大为完全自主开发。

对于此次在网络上造成的不良影响,本人郑重道歉,对给中科院、中科院计算所带来的不良后果表示诚挚的歉意。本人感谢大家的监督与批评,并深刻反省,保证不再出现类似问题。

Leave a Response