【扯谈消析】短评木兰语言

2020-01-20  本文已影响0人  吾系庄庄

今天看到很多关于木兰语言的报道,网上吐槽很多,但有价值的技术分析却很少。我对Python不是太熟,也没有完全看过木兰相关的资料,所以我只想提出几个技术观点供大家参考。

技术分析

很多网友吐槽,说木兰抄袭Python甚至直接套用Python是基于以下两个原因:

原因1:木兰直接将源代码“翻译”成Python。

原因2:木兰运行于Python之上,甚至还能调用Python的库。

以上两点,我认为都不能成为“木兰抄袭/套用Python”这个结论的充分理由,因为这些情况,业界都有不少的例子:

- 早期的C++语言,编译器是先将源代码转化成C语言,然后再对C语言进行编译。

- 像Kotlin、Scala这些语言,都是运行在JVM上,也能和Java进行互相调用。

我要评判“木兰”是否是一个真正的语言,我会从以下角度衡量出发:

- 木兰是否有它自己特定的语法和语言特性。从一些专业的吃瓜群众提供的信息来看,木兰的语法还真的和Python有明显不同,尤其没有Python槽点挺多的代码缩进

木兰语言代码节选

- 木兰的编译过程。对于非解释性语言来说,编译过程一般有词法分析、语法分析、中间代码、目标代码几个步骤。看了一些网友反编译木兰语言的结果来看,木兰语言还真的有自己完整的语法树定义(虽然说和Python是一一对应)。

疑似木兰语法树定义

逆向工程结果显示,木兰有完整的语法树,使用Python的ast库解析,但不能单凭这点定义成抄袭,类似于C++基于C语言的扩展、C++编译器是C语言编写的道理。

结论

从目前的信息来看,所谓的木兰语言,从技术价值上来看,充其量只能算是一个计算机本科学生《编译原理》的大作业,科研成果毫无疑问存在很严重的夸大宣传。

上一篇下一篇

猜你喜欢

热点阅读