02.26 文言文編程語言,讓你明白什麼叫“中文比英語還難”

畢竟有易語言在前,有人認為中文可以降低國人學習編程的門檻,也增強漢語的國際地位。然而最近大火的文言文編程語言,讓你明白什麼叫“中文比英語還難”。

文言文編程語言,讓你明白什麼叫“中文比英語還難”

Hello wenyan

最近有個 GitHub 項目火了 —— 文言編程語言 / wenyan-lang。

項目地址:https://github.com/LingDong-/wenyan-lang

這一項目並不是簡單的將程序中的英文字符換成了中文,而是利用 NLP 的一些技術,將文言文程序語法轉換到 JavaScript 或 Python 運行,有一定的技術難度。項目問世幾日即獲贊 2.2K,還得到了很多人的微博轉發。


文言文編程語言,讓你明白什麼叫“中文比英語還難”

學語言嘛,當然先從 “Hello world” 開始,看看文言版怎麼寫:

<code>1 吾有一數。曰三。名之曰「甲」。2 為是「甲」遍。3        吾有一言。曰「「問天地好在。」」。書之。4 云云。/<code>

沒看懂,編譯成 JavaScript:

<code>1 var n = 3;2 for (var i = 0; i < n; i++) {3       console.log("問天地好在。");4 }/<code>

運行:

<code>1 問天地好在。2 問天地好在。3 問天地好在。/<code>

完全的中文編程有木有,使用古漢語語法,具有圖靈完整性,可以編譯成 JavaScript 或 Python。

如同古人篆書一般,一頓之乎者也,程序寫好了!

基礎語法

趕緊學起來,第一章變量走起,中文編程肯定不能用 abc,還好我們有甲乙丙:

文言文編程語言,讓你明白什麼叫“中文比英語還難”

true/false 我們也有對應的 陽/陰(繁體的陽/陰),類型就稱為“爻”(卦符的基本符號):

文言文編程語言,讓你明白什麼叫“中文比英語還難”

if 判斷也沒問題:

文言文編程語言,讓你明白什麼叫“中文比英語還難”

循環更為簡潔,直接聲明次數,最後以云云結尾:

文言文編程語言,讓你明白什麼叫“中文比英語還難”

加減乘除一應俱全,連邏輯運算符都支持:

文言文編程語言,讓你明白什麼叫“中文比英語還難”

容器類型也支持,而且尊重漢語習慣,首個下標是從一開始:

文言文編程語言,讓你明白什麼叫“中文比英語還難”

下面是進階語法了,定義一個函數 吾有一術:

文言文編程語言,讓你明白什麼叫“中文比英語還難”

代碼實例

作者提供了經典程序題目的文言版代碼,比如埃拉託斯特尼篩法、 快速排序、曼德博集合、漢諾塔。

另外作者還提供了在線 IDE,可以直接編譯執行代碼。

快排

文言文編程語言,讓你明白什麼叫“中文比英語還難”

曼德博集合

文言文編程語言,讓你明白什麼叫“中文比英語還難”

國內程序員熱議

@minexo79:這到底是吸了多少才能做出這種東西?

@困的周叔叔:有種自己編譯原理白學了的感覺

@是俊不是腦殘粉:別人的大四,佩服啦

@溫興月:如果編程最早用文言文,中國人學幾個月,外國人學幾年

@imSuperZhang:這特麼比英文的還難

wenyan 的 GitHub issue 中,除了很多讚揚之外,還有不少認真提建議的,

文言文編程語言,讓你明白什麼叫“中文比英語還難”

也有在打口水仗的……

文言文編程語言,讓你明白什麼叫“中文比英語還難”

文言文編程語言,讓你明白什麼叫“中文比英語還難”

文言文編程語言,讓你明白什麼叫“中文比英語還難”


文言文編程語言,讓你明白什麼叫“中文比英語還難”

看完這些代碼讓我感覺:

《九章算術》就是一本算法導論;

《孫子兵法》就是一本安全攻防;

《易經》大概是一本二進制逆向吧...

本文綜合自面向人生編程 ,程序員的那些事

喜歡請多多關注易傑智科技!


分享到:


相關文章: