文言文也可以用來寫程式?!

2020-02-13
作者 EE Times Taiwan

中國工程師Lingdong Huang開發出稱為「文言」(Wenyan-Lang)的程式語言,這是全世界第一個用文言文編寫的程式語言,採用繁體中文文字以及古典中文語法系統編寫...

無論是Java、Python還是C++,不同的程式語言即使形式和規則各異,但幾乎都使用英文作為關鍵字(如if、else、return、for)編寫。然而,根據IDC估計,在全球約2,230萬名軟體開發人員中,有將近一半來自亞太地區,僅中國和印度就佔全球開發人員總數的三分之一。

那麼,你是否想過用中文來編寫程式?

去年剛從美國卡內基梅隆大學(Carnegie Mellon University)電腦科學系畢業的Lingdong Huang最近開發出稱為「文言」(Wenyan-Lang) 的程式語言,相較於主要以英文編寫的方式,新的「文言文程式語言」完全採用繁體中文文字以及古典中文語法系統編寫。

《IEEE Spectrum》報導,這是全世界第一個用文言文編寫的程式語言,自去年12月發表至今還不到2個月的時間,全球開發人員已經用它編寫了數十種程式,其中甚至包括以《易經》中的算命演算法編寫的程式。

開發這套「文言文程式語言」的Lingdong Huang之前設計過由電腦產生的中國山水畫,也曾經協助創作至今唯一以人工智慧(AI)生成的中國戲曲。去年12月,他從Carnegie Mellon University畢業,取得了電腦科學和藝術學位。


Lingdong Huang

Huang大約從一年前開始有了編寫文言文程式語言的想法,終於在畢業前夕完成了這套新語言的核心部份,包括一款影像渲染器(renderer),能以像古代文言文書頁的方式顯示程式,讓編程充滿古典文學氣息。

Huang說自己也曾經用閱讀更多古典文學書籍當作藉口而暫緩這個想法,最後決定必須付諸實踐。「那是學期末的最後一週,課程都結束了。所以我可以利用許多空閒時間來開發『文言』(Wenyan-Lang),後來終於在3~4天內完成了核心功能。」

出生於中國上海的Lingdong Huang自幼學習中國古典文學,因而「迷上了文言文,青少年時期還閱讀了大量的古文書籍。」他說自己最近在看的古籍是《淮南子》。

Huang並非簡單地用中文漢字直接取代英文字元,而是使用自然語言處理(NLP)方式,將文言文語法轉換為JavaScript、Python和Ruby。他並在GitHub上開放其Wenyan-Lang語言,短時間內就獲得了驚人的好評,目前並累積數十種以Wenyan-Lang編寫的程式了,一半以上來自全球各地開發人員的貢獻。

其中,有許多還採用了古代中國數學典籍中的數學演算法。例如,pi_liuhui.wy重現三國時代數學家劉徽如何利用割圓術計算圓周率;pi. Crt.wy是古中國的餘數定理;Pascal_triangle.wy計算帕斯卡三角形(Pascal’s Triangle;據稱中國典籍在Pascal發明之前記載);divination.wy甚至以程式重現《易經》中描述的占卜方式。

Wenyan-Lang_NT11P1

以「文言」(Wenyan-Lang)為《易經》中算命演算法編寫的程式。(來源:IEEE Spectrum)

Huang說自己最喜歡的文言文編寫程式之一是‘divination.wy’。它是《易經》中介紹的算命演算法。他說自己本來就想開發,但有更熱情的其他開發人員搶先了一步。

開發中文程式語言的挑戰之一在於如何不使用空格而將句子分解成單詞。但如何「斷句」就是讀者的工作了。以英文程式碼為例,他說,如果讀者看到‘pancakebatter’,通常會依據個人先前經驗,理解為‘pancake batter’而非‘pan cake batter’。

但要斷句文言文有一定的難度。為了克服這一挑戰,Huang透過定義文言文程式碼的關鍵字長度,為程式人員解密所需要的內容。

Wenyan-Lang_NT11P3

隨著「文言」程式語言的成功開發,許多華人開始注意到文言文也能編寫程式語言,Huang的生活也因此有了轉變,他說:「在此之前,我主要按照自己的步調做事,而今合作變得更重要了。」除了與開發者社群共同編寫程式碼,現在他還必須檢查並評估其他人的程式碼,並作出反饋和解釋。但Huang認為自己不僅享受這樣的體驗,還慶幸加入了一支很讚的編程團隊。

Wenyan-Lang_NT11P2

Wenyan-lang vs. JavaScript編程視窗(來源:IEEE Spectrum)

目前,Wenyan-Lang開發人員正致力於研究Python、Ruby、JavaScript及C++的編譯器、工具庫和GUI,以及可供編寫和共享程式碼的站點,目的在於為文言文程式碼建立開發社群,延續文言文的生命力。Huang並專注於為缺乏編程經驗的新手撰寫文言文編程入門指南,如今也有40%的完成度了。

活動簡介
未來寬能隙半導體元件會在哪些應用成為主流?元件供應商又會開發出哪些新的應用寬能隙元件的電路架構,以協助電力系統開發商進一步簡化設計複雜度、提升系統整體效率?TechTaipei「寬能隙元件市場與技術發展研討會」將邀請寬能隙半導體的關鍵供應商一一為與會者解惑。
贊助廠商
訂閱EETT電子報