戳破針對 木蘭 程式語言的拙劣謠言

2021-10-02 23:24:53 字數 3057 閱讀 6827

然而,謊言重複千遍也不能成為真理!

這些口誅筆伐和流言中,沒有任何乙個敢於貼出「木蘭」實際的執行截圖。為什麼?

難道是不會執行 exe 檔案?還是因為,只要執行出來就會讓大眾看到,它和 python 的明顯差別?

萬幸的是有一批開發者在第一時間就獲得了「木蘭」程式語言的可執行檔案,包括我自己。

同樣功能(連著列印出 5 個數字)的**,分別在 python(左)和「木蘭」程式設計環境(右)。

稍加對比可見明顯不同,謊言不攻自破!

這還只是我自己嘗試了的一小部分功能而已,還有大量的功能和差異限於時間還未探索。

程式語言技術圈內,已經基本公認了「木蘭」絕不是 python 換名字而已。但還是有所謂大佬,就憑著兩者**視覺上的相似之處,就聲稱『木蘭』程式語言沒有解決任何「痛點」,沒有任何實質性的改進。

說這話的要麼對 python 或『木蘭』完全不了解,要麼是睜眼說瞎話。

只要用過 python 程式設計的,都應該吃過它非常嚴格的縮排規則的虧。比如開頭的 python **,如果稍不小心,在某些地方把空格多了乙個或者少了乙個,那就倒大霉了:

def

f(x)

:for i in

range(5

):i = i + x

print

(i)def

f(x)

:for i in

range(5

):i = i + x

print

(i)def

f(x)

:for i in

range(5

):i = i + x

print

(i)

上面的**全部無法執行!可以試試看,要花多大勁才找得出**有問題?

最最坑的是,下面的**看似對齊了,但仍然無法執行!

就是因為不小心混用了 tab 和空格鍵。而這種問題對於新手來說,無異於折磨。這也是乙個圈內臭名昭著、幾乎所有 python 開發者遲早都會掉進不止一次的大坑。我在學習和使用 python 時,同樣栽過,也抱怨過「怎麼這麼死板!設計的真二!」

就是這樣的乙個問題,python 1991 年問世至今,沒有任何人解決過。神奇吧!

但『木蘭』就很好地解決了這個問題。即使有開頭空格、混合 tab 和空格鍵都支援:

現在說它沒有解決「痛點」?到底要多痛的點?切膚之痛、痛徹心扉嗎?那樣的痛點怎麼可能在乙個程式語言問世近三十年後還沒有解決呢!

這也同樣是謠言一的克星。這樣的功能差別,還說成是 python 換個名字,良心不會痛嗎?

同樣在技術圈內,還有人號稱,這不過是本科、碩士生畢設水平云云,甚至將它和本科生作業相提並論。

是不是自己把自己忽悠瘸了?還是當所有人都不懂行,會相信「木蘭」程式語言當做是像文章抄襲那樣簡單的文字替換、格式化就能做出來的了?

這個荒唐論調的最致命處在於,為什麼之前幾乎沒有在國內聽說過像『木蘭』這樣的產品??

不客氣地說,在木蘭開始研發之前,全中國就算一千萬程式設計師,百分之九十九點九的只把編譯器當工具用,其中也包括我自己。就像是開工具機的,有幾個有興趣了解工具機內部構造的?即使有像上面的縮排規則大坑,也不敢對編譯器輕舉妄動,而只是捏著鼻子,強行讓自己適應繼續用。畢竟——「大家都是這麼過來的嘛」。

這就只剩下一萬人敢於看看編譯器的源**。但看歸看,九成的都不會或者沒動力把它從源**編譯成可執行的編譯器,更不用說修改源**了。就好比有多少人樂意自己組裝一台工具機出來的?哪怕給你全套零件和圖紙?

在剩下這一千人樂意動動源**的當中,九成的編譯器相關知識背景和實踐經歷都不足,而即便是像上面演示出的定製語法,也需要頂層設計和將編譯器的模組拆分的能力。

就這樣,我們只剩下了一百人。那麼這其中有多少人有動力、毅力完成它,還要下不亞於做編譯器本身的功夫,完成周邊配套的輔助工具,最後做成產品,進行推廣呢?

「木蘭」這樣的產品少之又少,正是由於國內程式語言設計、編譯器實現、以及相關輔助工具開發領域的極大落後才導致的!

退一萬步說,假如現在的計算機本科生教育真的已經到了這個水平,能夠輕鬆完成這樣對開源編譯器的改造,豈不是國之幸事?豈不是可以在「木蘭」的技術基礎上,迅速進行進一步的改進和創造,逐步扭轉程式語言這一領域長期受制於人的現狀了?

要知道,任何工程專案,思路可能是一句話的事情,但實現起來總會有各種各樣的問題和難關,正所謂「細節是魔鬼」。是不是至少應該深入研究「木蘭」的技術細節,該學習的學習,該推廣的推廣呢?

作為當事人在宣傳方面縱然有千錯萬錯,也絕不應該任意詆毀「木蘭」程式語言的意義。

無論它前途如何,僅憑至今為止的這次短暫亮相,就已經將國內程式語言研發的整體水平提高了乙個層次。

因為它,明確指出了一條經過實踐驗證、完全可行的定製和改進乙個開源編譯器的技術路線!對它的逆向分析也已經多方驗證了當事人袒露的實現方式(見文末)。

從此之後,上面那些敢於動動編譯器源**但沒有明確思路的九百人當中,也都會嘗試順著這個思路對所有程式語言的編譯器進行改造;那九千個本來只敢看看源**的,也會發覺,原來編譯器的源**並不是那麼神聖不可觸碰,也會有更多的人加入動手修改的行列;更不用說那九千多萬原本視編譯器為神器不可褻瀆的開發者,會有一大批開始對它的實現細節感興趣,進而投身於編譯器研發領域。

從這個意義上說,『木蘭』已經創造了歷史!

正是因為如此,我們更應該期待『木蘭』的更多技術細節,而不是任由它被流言埋沒。

在流言大肆其道,事實尚未澄清的現在,正是『木蘭』前途命運的關鍵時刻。

任何乙個有良知的人,都應用理性思考,明辨流言蜚語,絕不讓『木蘭』蒙受不白之冤!

寫給木蘭程式語言研發團隊的公開信

你們好,我是 木蘭 程式語言有什麼特色?知乎問題的發起人。素昧平生,很可惜,是在這種情況下進行交流。很不幸,現在網上對木蘭的認識絕大部分是 python換個名字就出來賣 不幸中的萬幸,還是存在客觀理智的技術分析。而不是像某些自 一樣在沒有搞清事實真相之前就急著把 換皮 套殼 等等極具誤導性的標籤貼到...

為什麼要急著為 木蘭 程式語言貼上「造假」的標籤?

昨日開始看到某些 非常急切地,在事實細節遠未明晰時,就開始將 木蘭 專案貼上 造假 的標籤。為什麼要這麼急?如果不幸全中國的工具機和配套裝置全都是進口,現在要開始工具機國產化,該怎麼做?一家企業,使用進口工具機,加工出部分不同於原裝的零件 再拆取了原裝工具機的部分零件,將這兩部分組裝成另一台工具機。...

木蘭程式語言入門教程之一 淺介

本教程不求全面,各個方面點到即止。各位可多嘗試,歡迎反饋 提交pr。本章參考python官方入門文件3.an informal introduction to python。所有示例在執行 ulang.0.2.2.exe 開啟的互動環境下測試通過 win7 64位 示例中,開頭帶 提示的為 行,不帶...