?“同行12年,不知木兰裙下有Python”。
昨天的时候,我看到了一则新闻:
?
当时内心就是一震!号召国产编程语言这么多年,在如今中美对抗的自主化浪潮下,终于有一个靠谱的语言出世了!中科院计算所背书,应该没问题,值得高兴!
当然,这篇报道点进去都是一些泛泛而谈的内容,没有具体的介绍这门语言的特点和属性,于是我又搜了搜。然后,看到了这几个报道:
?
当时我就感觉吃了X一样,心情是这样的
?
本着“谁主张谁举证”的原则,我详细阅读了相关的报道、官网说明,并尝试下载了这门号称自主研发的编程语言,得到了如下信息:
1. 木兰Mulan原本是指Module Unit Language,也就是模块化单元语言,中科院计算所学术委员会主任徐志伟将其念为木兰,觉得这个名字更好,有中国文化的印记,所以最终选择了木兰这个名字。
2. 木兰Mulan语言主要定位于面向智能物联应用、采用最新编程语言设计理念和编译技术的程序设计语言,开发团队致力于将其打造为“智能物联时代的C语言”。
3. 木兰是由编译实验室完全自主设计、开发和实现的编程语言,与之配套的编译器与集成开发工具也完全由团队自主实现,是真正掌握核心技术的编程语言
4. 木兰采用创新的弹性actor执行模型(擅长执行并行计算),可成倍地提高应用执行效率,在提高服务质量的同时大幅降低平台运营成本
5. 木兰编程语言还支持模拟仿真和调试功能,在软件上既可以验证软件和硬件设计的正确性;同时支持跨平台,对Android、IOS、Linux、Windows都可以很好的兼容
6. 木兰可以很好地支持龙芯等国产处理器
7. 木兰语言全球开源,所有人可以免费方便的下载
8. 木兰语言已经在编程教育上率先投入应用。报道称,在中科院的支持下,木兰编程语言已经涵盖了贵州、甘肃、江西、湖南、重庆、青海、山西、陕西和四川等18个省市共700所中小学。
?
然后,根据我目前得到的信息,有了如下与上面信息相悖的结论
1. “木兰”和C语言没有半点可比性
从几篇介绍语言特性的文章来看,也看不出它是定位于面向智能物联应用、采用最新编程语言设计理念和编译技术的程序设计语言
2. “木兰” 没有办法下载,至少今天是这样
点进“木兰”官网——中科智芯,我们看到如下页面
?
没有一个词提到“木兰”。然后往下翻,找到下载中心:
昨天的页面
?
今天的页面
?
在昨天,“木兰”还是可以从官网的下载中心下载的,现在已经消失了。虽然创新性值得商榷,但至少说明人家的反应速度还是挺快的,也懂得低调行事:
“我不让你下载,不就没有问题了”
3.“木兰” 没有官方文档
众所周知,所有主流编程语言都是有官方文档的,没有文档意味着从任何渠道得到这门语言的人基本没法系统性地学习。
4. “木兰”没有达到或者超过近年来新出现的语言的特性,比如 rust 的编译期检查。比如 go 的 goruntine。比如 julia 的科学计算上的优势。
5. “木兰” 并不适用于教学
使用木兰的学生会发现,除了基本语法,要用木兰开发应用连个库都找不到。而且幼教型语言已经有 Scratch 这样的图形符号语言,更适合编程启蒙。
?
6. 如果说能在处理器上编译运行就是很好地支持,那么Python、C语言也可以很好地支持龙芯等国产处理器。
7. 如果起个中国名字就算自主创新,那么我也可以创新一个语言,叫“柏松”(Python的音译),使用方法更加简单,只需要一句话:
import python as 柏松
8. “木兰”到底是不是Python换皮?
因为官网已经没办法下载,我只能从CSDN的老朋友那里找了一篇木兰的“开箱测评”,并总结了以下几点内容:
下载速度非常慢,不管什么网速,统统几KB的下载速度
?
图标原封不变,这是木兰的图标
?
下面这个是Python开源工具 PyInstaller 打包出的程序默认图标
?
朋友说他发布pyqt的软件都知道换个图标,这么大的项目连图标都不换
函数照搬Python,函数可以理解为编程语言中的一个个小锤子,可以用来更好的组装东西。锤子的作用大同小异,但每个语言都有不同的名称和特性。“木兰”的函数则是连一个字母都没变,几乎和Python一模一样:
?
相同的命令行,木兰的基本命令行交互方式和Python一样,大家可以自行和上面的对比一下。当然这个CMD界面都是一样的,要吐槽的是木兰和Python的交互界面唯一的区别就是Python默认是3个>>>,它创新性地改成了1个>
?
没有任何加密,我们知道任何商用软件都是会加密的,我们自己写pyqt有时候都加密,但是木兰竟然一点加密都没有,直接破解了:
?
内置文件原封不动,“Include ”文件夹里是 “ pyconfig.h ”,学过编程的都知道,这是 Python 的系统文件。此外,还有非常扎眼的“ lib2to3” ,这是 Python 2 转向 Python 3 的转换模组。我之前刚写过一篇文章告别Python2的时代,就发生了这么魔幻的事情,也是一种缘分。
?
综上,是不是Python,大家心里有数。再看看中科院自己的采访:
“鉴于编程语言在信息技术产业中的重要价值,依赖开源等形式的外部技术,存在较大风险,我们需要大力发展编程语言,实现编程语言的自主可控。”
鉴于主持者这样的态度,这门语言只能在国内的学校里,利用中科院和教育部的联合推广才能普及,在国际上注定无人问津,生态太狭隘。
知乎上的Zombie110year说了一段话,非常有道理:
有时间开发新的语言支持国产处理器,不如给 LLVM 添加几个 codegen,这样所有基于 LLVM 开发的语言都支持国产处理器了。
我就不明白国内这些机构为什么对开源这么排斥。这些开源项目全世界都用得,中国用不得?中国不在地球上?闹了半天连中文编程也没有,服了。
先不提中文编程的实用性,对于国内计算机领域的创新问题,其实早就被业内人诟病许久。
中国的程序界不缺天才,楼天成等人并不比国外的优秀程序员差。只不过在国内,天赋异禀的个体或许有才华有能力去做这样的开创性工作,但却没有资源、设备和资金支持。
某些头部机构、部门有这样的硬实力,但却满脑子想着名利。这样的局面如果不打破,我们很难做出像样的、国际上领先的计算机科学领域创新成果。以前的汉芯,今天的木兰,如果不建立可靠的监督体系,只靠舆论压力,那么这样的换皮产品还是会层出不穷,我们的创新环境依然难以改善。
参考文献:
- IT之家:中科院计算所发布国产编程语言“木兰”
- 中科智芯:http://www.dongshouke.com/bianchengruanjian.html
- 机器之心:声称掌握核心技术实则换皮Python?国产编程语言木兰引起社区热议
- 沉迷单车的追风少年:我国自主开发的编程语言“木兰”——学习尝鲜笔记
- 知乎问题:「木兰」编程语言有什么特色?
文章首发自我的公众号。更多机器学习、编程、AI相关知识,欢迎关注扫码关注“图灵的猫”。后台回复“学习资料”,即可获得海量机器学习、深度学习书籍等免费PDF资源
?
“木兰”
原文地址:https://www.cnblogs.com/y1ran/p/12209917.html