2020年1月18日星期六

中科院自主开发编程语言被指Python套壳

  中科院计算所团队推出"完全自主设计、开发和实现"的"木兰"编程语言,很多开发者发现解包后的木兰语言其实就是建立在 Python 之上,将 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开源编译器进行的二次开发,但在接受采访中将木兰编程语言和编译器夸大为完全自主开发。

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

  此前,据中国新闻网等多家媒体报道,中国科学院计算技术研究所1月15日正式对外发布该所计算机体系结构国家重点实验室编译技术团队自主研发、面向新一代人工智能和物联网应用的"木兰"编程语言体系,并推出"木兰"开源软件包,供全球用户免费下载获取。

  "木兰"的下载渠道在一家名为"中科智芯"的公司网站上。据企业主页介绍,中科智芯(北京)科技有限公司是中国科学院计算技术研究所孵化企业,源中科院计算所计算机体系结构国家重点实验室而成立。

  "木兰"编程语言是该公司的重点产品,企业介绍称,"木兰"是"专为人工智能教育而生的中国自主知识产权编程语言,由中科智芯自主研发。语言设计上屏蔽了其他任何一种针对成人设计的编程语言特性,如编程环境调试复杂等,让学生在编程语言学习之初不为细节所牵绊,具有更易理解、易于学习、易于阅读、易于维护等特性;且支持跨平台,对Android、UNIX、Windows都可以很好的兼容。"

  有计算机业内人士表示,从目前能掌握的情况来看,"木兰"语言更像是Python语言的"套壳"产物。"这个软件就是在Python语言外边套了一层壳,还是比较简单的那种,相当于一个接口,连图标都没有改。"

  据此前报道,刘雷介绍称,"木兰"是中科院计算所团队完全自主设计、开发和实现的编程语言,与之配套的编译器与集成开发工具也完全由团队自主实现,"是我们真正掌握核心技术的编程语言"。

  其介绍称,"木兰"定位为下一代重要应用——物联网应用开发语言,打造物联网智能执行平台,其采用最新的编程语言设计理念和编译技术,在考虑性能的设备处理层,它提供面向轻量级物联网设备和领域特定专用加速器的编程特性;在应用层面,它提供面向通用计算设备的编程语言并支持多种领域的定制化元编程。

  据了解,以"木兰"为基础延伸的自主研发编程软件、人工智能教材、教学装备现已投入中小学、幼儿园使用,截至目前,"木兰"应用范围已涵盖中国18个省市共700所中小学。

  工商信息显示,中科智芯(北京)科技有限公司持股70%的大股东是中科编易(北京)科技有限公司,而后者的大股东正是刘雷。

  中科院计算所计算机体系结构国家重点实验室网站显示,刘雷,博士,工程师一级,在编程语言和并行编译技术方向上具有丰富的科研和工程经验,先后承担过国家863项目、核高基重大专项项目的子课题,所研发的技术成果达到世界先进水平,在多个顶尖的国际会议和权威期刊上都发表论文10余篇。其开发的自动并行化编译器的加速效果要明显好于世界上最好商用编译器Intel编译器。

  Python在1991年由荷兰人Guido van Rossum发明,是一种跨平台的计算机程序设计语言,近几年因机器学习大热而受到关注。

  稿源:澎湃新闻