近日有媒體稱,一款面向智能物聯(lián)網(wǎng)和編程教育的國(guó)產(chǎn)編程語言出世,名為木蘭。消息一出,引起了開發(fā)者社區(qū)的討論。但有人發(fā)現(xiàn),下載的程序包解包后——是個(gè) Python?
隨著人機(jī)交互頻次的日益增長(zhǎng),編程正成為這個(gè)時(shí)代“第三重要的基礎(chǔ)學(xué)科”,從 C、C++到 Python、Julia,不同的編程語言因其本身的特性和功能而有著龐大的開發(fā)社區(qū)。
此外,一旦某個(gè)編程語言在一個(gè)領(lǐng)域建立了自己的生態(tài)系統(tǒng),那么它的地位幾乎很難撼動(dòng),如谷歌公司在云計(jì)算領(lǐng)域推出的Go語言、蘋果公司自行設(shè)計(jì)的Swift語言、Oracle控制的Java語言標(biāo)準(zhǔn)等等。
日前,有媒體報(bào)道稱中國(guó)科學(xué)院計(jì)算技術(shù)研究所(以下簡(jiǎn)稱中科院計(jì)算所)計(jì)算機(jī)體系結(jié)構(gòu)國(guó)家重點(diǎn)實(shí)驗(yàn)室表示,由該實(shí)驗(yàn)室編譯組主導(dǎo)研發(fā)的國(guó)產(chǎn)編程語言“木蘭”(Mulan:Module Unit Language)正式發(fā)布,“木蘭”定位于面向智能物聯(lián)應(yīng)用、采用最新編程語言設(shè)計(jì)理念和編譯技術(shù)的程序設(shè)計(jì)語言,開發(fā)團(tuán)隊(duì)致力于將其打造為“智能物聯(lián)時(shí)代的C語言”。
報(bào)道還稱,“木蘭”是由編譯實(shí)驗(yàn)室完全自主設(shè)計(jì)、開發(fā)和實(shí)現(xiàn)的編程語言,與之配套的編譯器與集成開發(fā)工具也完全由團(tuán)隊(duì)自主實(shí)現(xiàn),是真正掌握核心技術(shù)的編程語言。
目前,木蘭語言已可以下載。下載地址:dongshouke.com
報(bào)道一出,便引起了開發(fā)者們注意,開發(fā)者們紛紛前往下載使用和研究,然而解包結(jié)果發(fā)現(xiàn),其實(shí)這是個(gè) Python 3.7?
開發(fā)者發(fā)布學(xué)習(xí)嘗鮮筆記: 和python幾乎一樣 !
對(duì)于完全自主設(shè)計(jì)的“國(guó)產(chǎn)編程語言”,大家的期待都非常大,網(wǎng)友@沉迷單車的追風(fēng)少年 就在第一時(shí)間前往官網(wǎng)下載。
下載完成后卻發(fā)現(xiàn)圖標(biāo)有點(diǎn)不太對(duì)勁。
這不明顯是pyinstall打包的嗎?該網(wǎng)友吐槽到:我發(fā)布pyqt的軟件都知道換個(gè)圖標(biāo),這么大的項(xiàng)目連圖標(biāo)都不換?
打開之后就是類似python一樣的對(duì)話框
提供了這么多函數(shù),和python幾乎一樣啊
試一下反向破譯一下,以為會(huì)加密,畢竟是一個(gè)商用軟件,我們自己寫pyqt有時(shí)候都加密
但是,結(jié)果一點(diǎn)加密都沒有,直接破解了:
就是python寫的啊。
同樣在在知乎上也有很多開發(fā)者對(duì)此進(jìn)行討論。
很多開發(fā)者發(fā)現(xiàn)解包后的木蘭語言其實(shí)就是建立在 Python 之上,將 Python 構(gòu)建的環(huán)境、包和項(xiàng)目都編譯成一個(gè)可執(zhí)行文件。所以似乎木蘭只是在頂層做了一個(gè)接口,將底層編譯、優(yōu)化等眾多工作都交給了原版 Python?
如下所示為 EXE 文件的解包結(jié)果(采用 PyInstaller Extractor):
從解包結(jié)果可知,「木蘭」語言是通過 Pyinstaller 將 Python 文件打包成 EXE 可執(zhí)行文件。
其實(shí)之前我們比較熟悉的文言編程語言,它就非常明確只關(guān)注語法和前端,把所有底層操作都留給了 JavaScript 或 Python。
開發(fā)者社區(qū):槽點(diǎn)略多
一位開發(fā)者從以下三個(gè)角度評(píng)價(jià)了木蘭語言:
1. 能否滿足實(shí)際需求:一門編程需要需要很多特性,使其能夠勝任一些場(chǎng)景中的工作。但是目前似乎沒有看到木蘭語言體現(xiàn)的特性。
2. 是否融入開源社區(qū):不開源的語言很難進(jìn)步。
3. 是否適合青少年編程:作為教育語言,不像圖形符號(hào)語言那樣直觀。而學(xué)生學(xué)成后在工作中依然需要重新學(xué)習(xí)編程語言。