点击上方“程序员前线”,选择“星标”
回复“资料”,获取小编整理的一份资料

2020年1月15日,中国科学院计算技术研究所(以下简称中科院计算所)计算机体系结构国家重点实验室,由该实验室编译组主导研发的国产编程语言“木兰(Mulan)”正式发布。
据中科院计算所副研究员、计算机体系结构国家重点实验室编译组负责人刘雷介绍,“木兰”是一款定位于面向智能物联应用、采用最新编程语言设计理念和编译技术的程序设计语言,开发团队致力于将其打造为“智能物联时代的C语言”。
随着人机交互频次的日益增长,编程正成为这个时代“第三重要的基础学科”。编程语言也和操作系统一样,是信息技术领域重要的系统软件。并且,信息技术行业的生态环境也往往是从编程语言开始建立的。“如谷歌公司在云计算领域推出的Go语言、苹果公司自行设计的Swift语言、Oracle控制的Java语言标准等等。”刘雷说,一旦某个编程语言在一个领域建立了自己的生态系统,那么它的地位几乎很难撼动。
“‘木兰’是由编译实验室完全自主设计、开发和实现的编程语言,与之配套的编译器与集成开发工具也完全由团队自主实现,是我们真正掌握核心技术的编程语言。
此消息一经发出,引发不少开发者质疑。对于完全自主设计的“国产编程语言”,大家的期待都非常大,网友@沉迷单车的追风少年 就在第一时间前往官网下载。
下载完成后却发现图标有点不太对劲。纳尼?和python几乎一毛一样
这不明显是pyinstall打包的吗?该网友吐槽到:我发布pyqt的软件都知道换个图标,这么大的项目连图标都不换?
打开之后就是类似python一样的对话框
提供了这么多函数,和python几乎一毛一样啊
试一下反向破译一下,以为会加密,毕竟是一个商用软件,我们自己写pyqt有时候都加密
但是,结果一点加密都没有,直接破解了:
就是python写的啊。
同样在在知乎上也有很多开发者对此进行讨论。
很多开发者发现解包后的木兰语言其实就是建立在 Python 之上,将 Python 构建的环境、包和项目都编译成一个可执行文件。所以似乎木兰只是在顶层做了一个接口,将底层编译、优化等众多工作都交给了原版 Python?
如下所示为 EXE 文件的解包结果(采用 PyInstaller Extractor):
从解包结果可知,「木兰」语言是通过 Pyinstaller 将 Python 文件打包成 EXE 可执行文件。
根目录下有个driver,添加pyc文件头即可用uncompyle6来反编译:
只有两行,调用了runtime.main里的main函数。
这个文件被放在了pyz_extracted里
main里本身实现了不少东西
但你这个执行是不是有点……?
直接调exec,唯一的区别就是加了一个globals。
命令行版本里的repl里是做了一些处理的……虽然也没发现有什么改进的特性。
关于关键词看到不少同学都是试出来的func2333,这里有一个list:
不忍看下去了。。。
所以它到底跟python有多大区别嘞(⊙o⊙)?
还有说好的面向智能物联应用呢?这通篇也没瞅着哪里跟智能物联有半毛钱关系啊,你好歹封个蓝牙或者zigbee的模块进去嘛233
网友@龙文,直接表示就是Python3.7.4换了皮肤。
作为对比,截了几张图,上面是木兰,下面是Python3.7.2。
以sys库为例
木兰导入包的方式为:
sys = __import__('sys')
Python导入包的方式为:
sys = import sys
报错信息木兰:
版本信息格式也是一样,从左边可以看出木兰是基于Python3.7.4换皮肤的:
当然,你可以死皮赖脸地说是参考了Python。
但是。。。。重点来了,copyright居然有Python字样,哈哈哈哈,这太尴尬了,这下没法抵赖了吧:
Python的如下:
还有一个sys.prefix属性引起了我的注意,我倒要看看这个C:\Users\huawei\AppData\Local\Temp\_MEI143282路径下有什么东西,
打开一看尼玛我傻眼了都,全是Python的文件,结果不言而喻:
其实之前我们比较熟悉的文言编程语言,它就非常明确只关注语法和前端,把所有底层操作都留给了 Java 或 Python。双兔傍地走,安能辨我是Python。
一位开发者从以下三个角度评价了木兰语言:
把 Python 环境打包到一个可运行的文件,那么这可能是没问题的。但将其号称为拥有自主产权的编程语言就太言过其实了。对此,你怎么看呢?
参考信息:中国科学院,中国科学报,知乎,CSDN
--------  END  ---------
超过1024G的IT学习资料,Java、Spring、数据结构和算法、Python等100本电子书。赶紧加小编微信免费领取吧!学好了价值百万,现在免费领取,你值得拥有!
关注「程序员前线」加星标,不错过程序员圈内大事
好文章,我在看❤️
继续阅读
阅读原文