中科院计算所团队“完全自主设计、开发和实现”的“木兰”编程语言是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日正式对外发布该所计算机体系结构国家重点实验室编译技术团队自主研发、面向新一代人工智能和物联网应用的“木兰”编程语言体系,并推出“木兰”开源软件包,供全球用户免费下载获取。

但随后网络上争议四起,知乎网友@沉迷单车就指出,从网络下载的“木兰”语言编辑器程序图标来看,与用著名编程语言Python生成的应用程序图标完全一致。“都不换个图标吗?”他问道。

澎湃新闻(www.thepaper.cn)记者并未在中科院计算所或计算机体系结构国家重点实验室官方网站上找到“木兰”的发布信息,亦无下载链接。

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

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

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

“木兰”图标

使用Python制作的文件图标

“对这个exe文件进行反向编译后可以发现,整个结构就是Python环境,比如其中有一个‘lib2to3’文件夹,就是只有python才会有的,是转换python2到python3的lib。”上述业内人士对记者表示。

“木兰”反向编译结果

不过,上述业内人士也对记者表示,“还是要看‘木兰’的源代码,才能确定这个语言到底有多少自主研发成分,以及多少是来自Python语言。现在从公司网页上无法看到源代码,也就是说还没做到完全开源。”

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

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

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

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

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

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

最新文章

  1. R12_专题知识总结提炼-AR模块
  2. thinkphp隐藏中url的index.php
  3. libCEF总结01下载、编译、入门
  4. 关于c语言char类型输入输出的一个bug
  5. 字符模型和Windows等价程序
  6. yii2源码学习笔记(十)
  7. javascript创建对象的7种方式
  8. zoj 2587 Unique Attack 最小割判定
  9. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)
  10. centos7如何安装pandoc
  11. 【LeetCode】217. Contains Duplicate
  12. Android Multimedia框架总结(七)C++中MediaPlayer的C/S架构补充及MediaService介绍
  13. android + php 后台开发
  14. JavaScript篇 深入理解JavaScript函数
  15. 【NLP】Conditional Language Models
  16. postman设置环境变量
  17. html页面嵌套两个iframe页面导致第二个iframe页面高度失效的问题
  18. JAVA-String,StringBuilder,StringBuffer例子(基础必备)
  19. 解决升级Spark2.0之后,DataFrame map操作报错
  20. Python之路 day1 基础1 变量 for while 用户输入

热门文章

  1. JVM源码分析之临门一脚的OutOfMemoryError完全解读
  2. Thinkphp 前端视图输出日期时间戳自动转换为时间格式化年月日
  3. MySQL 什么是索引?
  4. win10安装两个不同版本的mysql(mysql5.7和mysql-8.0.19)
  5. if 语句 总结笔记
  6. SQL server 游标用法
  7. MySQL 8 InnoDB 集群生产部署
  8. 2.Android网络编程-web介绍以及Tomcat安装使用
  9. fatal error LNK1169: one or more multiply defined symbols found
  10. 【笔记】机器学习 - 李宏毅 - 12 - CNN