近日,中国科学院计算技术研究所计算机体系结构国家重点实验室宣布,由该实验室编译组主导研发的国产编程语言“木兰(Mulan)”正式发布。
更重要的是,这是由我国科研人员自主设计、开发和实现的编程语言,与之配套的编译器与集成开发工具,也由科研团队自主实现。
这本是一件值得高兴的事,然而,这款备受期待的编程语言却受到了不少开发者的吐槽。
定位于面向智能物联应用
据中科院计算所副研究员、计算机体系结构国家重点实验室编译组负责人刘雷对《中国科学报》介绍,这款编程语言充满中国风的名字(木兰,Mulan)原本是 Module Unit Language(模块单元语言)的简写。他说:
我们最初就是想做一种能像模块一样方便的、可以随时扩展语言的编程语言,缩写词“Mulan”中的“M”是希腊第十二个字母(音近“谬”),表示“微小”的意思,表明这是一款简易的语言,没想到, 中科院计算所学术委员会主任徐志伟一下就念成了“木兰”…… 我们都觉得“木兰”更好,有浓浓的中国文化印记。用“木兰”命名这样一款国产编程语言,再合适不过。
雷锋网注:工作人员演示基于木兰编程语言的“下棋机器人”
具体来说,木兰是是一款定位于面向智能物联应用的编程语言,采用创新的弹性 actor 执行模型(擅长执行并行计算),可成倍地提高应用执行效率,在提高服务质量的同时大幅降低平台运营成本。
如今,在智能物联应用领域,尚无一款专用的编程语言,在既有的语言系统中做智能应用开发,需要多个工程师、跨多种语言实现,导致开发效率低下;而“木兰”就致力于打造物联网智能执行平台,并为编写的应用程序提供执行环境。
雷锋网(公众号:雷锋网)了解到,由于“木兰”编程语言的语法更加宽松,更适合初学者学习掌握,目前,木兰已率先在编程教育方面投入应用。它同时支持模拟仿真和调试功能,在软件上既可以验证软件和硬件设计的正确性;支持跨平台,对 Android、IOS、Linux、Windows 都可以很好的兼容;更重要的一点是,它可以很好地支持龙芯等国产处理器,后续会支持更多类型的国产处理器。
刘雷继续说道:
如 Google 在云计算领域推出的 Go 语言、苹果公司自行设计的 Swift 语言、Oracle 控制的 Java 语言标准等等。一旦某个编程语言在一个领域建立了自己的生态系统,那么它的地位几乎很难撼动。
而木兰编程语言的开发团队也表示,将致力于把这款语言打造为“智能物联时代的 C 语言”。
是木兰,还是 Python?
在美国宣布限制 AI 软件出口中国之际(详见雷锋网此前报道),“木兰”的诞生显得格外振奋人心,一时间也在网络上引起了热议。
然而,在木兰编程语言发布之后,国内开发者怀着期待下载研究后却对其产生了质疑:原来木兰是 Python?
根据 CSDN 博主“沉迷单车的追风少年”的反馈,木兰的下载速度非常慢,而且无论是从图标上来看,还是根据内部提供的函数显示,木兰都与 Python 语言几乎一模一样。
而且在安装后的文件夹里,出现了大量的“.pyd”文件——这正是 Python 语言常见的文件格式。有开发者总结道,木兰似乎就是建立在 Python 之上,就像在顶层做了一个接口,而底层编译、优化等其他工作仍然由 Python 来做。
这显然不能称为是“一门自主产权编程语言”,毕竟,如果想要在特定领域开发一门全新语言,底层优化与设计都需要“重新来过”。
随着网友的进一步探索,这款编程语言背后的研发企业也被扒了出来,是一个叫作“中科智芯”的企业,中国科学院为其股东之一。然而,雷锋网尝试了几次,中科智芯官网均无法访问;根据企查查上的信息显示:
中科智芯是一家教育信息化整体解决方案提供商,拥有自主研发教育软件、硬件、课程体系的技术,旗下研发了硬件与软件两类课程产品,并设有少儿探究空间、创客实验室、虚拟交互实验室、人工智能实验室、交互艺术实验室。
雷锋网注:上图为知乎网友余天提供的截图
根据以上信息以及知乎网友提供的中科智芯官网图片,相比起研究机构,中科智芯更像是一家专注于编程课程的公司。另外,中科院计算所官网上找不到与“木兰”相关的任何内容;木兰编程语言的下载网址也已无法打开。
这一系列的操作让不少网友怀疑,近期被刷屏的”木兰“相关文章可能是打着“自主产权”的幌子来实现企业的推广目的。
似曾相识的红芯浏览器事件
对木兰编程语言的吐槽在网络上不断发酵,不免让人想起此前的类似的事件。
2018年8月15日,自主研发浏览器核心产品的红芯公司(redcore)宣布完成2.5亿元融资,并自称打破了美国垄断,拥有中国首个自主创新的智能浏览器内核。(详见雷锋网此前报道)
按理来说,在国内较为主流的浏览器(包括360、百度、搜狗等)均使用的是谷歌 Chrome 浏览器的 Blink 内核的背景下,红芯自研出浏览器内核本是一件值得高兴的事情。
然而,很快就有网友曝出,红芯浏览器的众多设置与谷歌 Chrome 雷同,安装文件的目录结构也很相似,安装程序 Redcore.exe 的属性甚至显示为 Chrome。而且,其版本号为49.1.2623.213,当时最新版的 Chrome 已经到了 v69.0.3493.3。
另外,红芯的 redcore 与 Blink 等浏览器内核完全不是一个量级的,它只是在 chromium 基础上造的轮子,仔细看两个 logo 其实都有相通之处。