专栏名称: 创事记
新浪科技旗下高端专栏,犀利观点,欢迎投稿。
目录
相关文章推荐
禽报网  ·  企业\\同比大增120%!新希望2024年预 ... ·  22 小时前  
禽报网  ·  鸡报•2-8\\毛鸡乱,3.0-3.4都有; ... ·  22 小时前  
51好读  ›  专栏  ›  创事记

换皮都换不利索?扒一扒中科院「自主研发」的「木兰」编程语言

创事记  · 公众号  ·  · 2020-01-19 16:30

正文


文/谷溪

来源: 古老湿(ID:gulaoshi_ops)


1


2020 年 1 月 15 日,中科院计算所发布了一款「完全自主设计、开发和实现的编程语言」,还配套了彻底自主实现的编译器和集成开发工具,是「真正掌握核心技术的编程语言」——木兰编程语言。




不过当木兰发布以后,大家发现,之前新闻稿中所说的「编程语言+编译器+集成开发工具+跨平台」软件体系,缩水成了一个仅能在 Windows 平台上运行交互 shell 的 exe 可执行文件。


这是什么概念?


差不多可以理解为,中科院向开发者们承诺了满汉全席,最后在万众瞩目之下,上了一盘炒鸡蛋。


你以为现在该喷中科院计算所的这盘炒鸡蛋「货不对版」了?


呵呵,故事才刚刚开始。


2


我通过中科智芯(中科院计算所企业)网站(http://www.dongshouke.com/)下载的这个可执行文件,图标长成这样:



作为一个使用过 PyQt + PyInstaller 的 Python 工程师,我在看到这个图标的一瞬间就被中科院计算所的「工匠精神」雷住了。


这个图标,是用 PyInstaller 打包时候自带的默认图标啊!


也就是说,这个 exe 可执行文件,是用 PyInstaller 打包出来,而且工程师懒到连图标都没换。 当然,可以顺便确定,这个文件的生产流程,基本上就是先用 Python 写、然后用 PyInstaller 打包成 exe 的。


说好的彻底自主研发的编程语言呢? 说好的彻底自主实现的编译器? 咋回事,转了一圈发现,怎么还在用早在 1991 年就问世的 Python?


同行十二年,不知「木兰」是 Python?


(目前木兰在中科智芯官网下载地址已经被 404,但迅雷还有缓存,将下载地址http://www.dongshouke.com/download/ulang-0.2.2.exe 复制到迅雷中,即可成功下载,有兴趣的小伙伴可以自己尝试一下)


3


事情逐渐变得有趣起来了。


我们既然已经知道「木兰」是用 PyInstaller 打包的,当然也就有解包的方法—— PyInstaller Extractor。


去 SourceForge 网站下载一个名为 pyinstallerextractor.py 的脚本,之后在命令行中执行 python pyinstallerextractor.py ulang-0.2.2.exe (如果脚本与木兰不在同一文件夹中,记得补全exe文件路径),就可以将木兰的源文件 ulang-0.2.2.exe 解包成为一个文件夹,便于我们一探究竟。



通过 PyInstaller Extractor,其实已经可以看出,木兰用的是 Python 3.7 版本了,没有加密,没有换图标……我们不着急,继续向下扒。


解包后,可以很直观的看到木兰内部长这样:



现在已经可以基本可以确定,这就是 Python 了。


我们再深入进去,看看目录下面这个奇怪的 PYZ-00.pyz_extracted 文件夹里面是些什么东西。



这些后缀为 .pyc 的文件,是 Python 程序的字节码文件。 文件夹中的这些 Python 程序,都是 Python 的标准库(就是 Python 语言自带的一些实用功能)。 把它们存放在这里,显然是因为木兰会在这里统一调用 Python 3.7 的内部函数和接口。


这基本就是石锤了:


中科院计算所的「纯自主研发」的木兰编程语言,其实就是把 Python 3.7 这门全球最流行的开源编程语言打了个包、包装成一个 exe 可执行文件,还忘了换图标……


如果你要问技术含量有多少,大概等于我买了个 iPhone 11 然后包上了一张废报纸就号称这是彻底自主研发的古老湿 100S 智能手机、最后还毫无工匠精神的忘了画上我自己的 Logo。


换皮能有多少技术含量? 况且还换成这个样子? 这是欺负码农眼瞎吗?


其他夸下的海口,例如跨平台之类,瞬间就可以理解了: Python 本身就是一门跨平台语言,既然「木兰」只是换皮版 Python,那么当然具备 Python 的一切特性。


我还帮中科院想好了一句广告词——「彻底兼容 Python 生态环境」,一下子就有走出国门冲向世界的潜力了,岂不美哉?


4








请到「今天看啥」查看全文