驚爆!「文言文」也可以用來編程了

2020-12-15 電子工程專輯

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

那麼,你是否想過用中文來編寫程序?w2qEETC-電子工程專輯

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

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

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

w2qEETC-電子工程專輯

Lingdong Huangw2qEETC-電子工程專輯

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

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

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

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

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

w2qEETC-電子工程專輯

以「文言」(Wenyan-Lang)為《易經》中算命算法編寫的程序。(來源:IEEE Spectrum)w2qEETC-電子工程專輯

Huang說自己最喜歡的文言文編寫程序之一是『divination.wy』。它是《易經》中介紹的算命算法。他說自己本來就想開發,但有更熱情的其他開發人員搶先了一步。w2qEETC-電子工程專輯

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

但要斷句文言文有一定的難度。為了克服這一挑戰,Huang透過定義文言文程序代碼的關鍵詞長度,為程序人員解密所需要的內容。w2qEETC-電子工程專輯

w2qEETC-電子工程專輯

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

w2qEETC-電子工程專輯

Wenyan-lang vs. JavaScript編程窗口(來源:IEEE Spectrum)w2qEETC-電子工程專輯

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

責編:Yvonne Gengw2qEETC-電子工程專輯

相關焦點

  • 用文言文來編程?99行代碼就可以實現冰雪魔法?
    中學生有三怕,一怕文言文,二怕寫作文,三怕周樹人。文言文雖然是中國古代文化的重要載體之一,但是背誦文言文卻是現在學生最為頭疼的事情。而就是這樣令人頭疼的文言文,一位華人計算機人才Huang Lingdong將文言文和編程結合起來,開發了基於文言文的程式語言。
  • 世界上第一個文言文程式語言誕生,創造它的是一個大學生
    畢竟文言文怎麼編程?這可不是把英文字轉換成文言文那麼簡單。相反,NLP技術被用來將經典的中文程式語言編譯成JavaScript、Python和ruby等程式語言。例如,編程界的經典代碼「Hello world」,如果它是用經典的中文程式語言編寫的:我有一個數字。說三個。
  • 文言文程式語言
    最近,文言文編程在GitHub上火了。據了解,這是一門採用文言文輸入的程式語言,該語言不包括英文字符,僅包含繁體中文字符,並保留繁體引號「」。據了解,該語言項目的作者是CMU 計算機專業大四學生Lingdong Huang,他利用 NLP 的一些技術,將文言文程序語法轉換到 JavaScript 或 Python 運行。該項目問世幾日即獲贊 2.2K,還得到了很多人的微博轉發。文言語言採用自然語言處理共享了古典漢語語法,將語言編譯為 JavaScript 或 Python,並且圖靈完備。
  • 用文言文來編程,97 年 CMU 本科生火遍全網!
    很多接觸過編程的人都知道「易語言」,這是一種使用中文代替程式語言中的英文的程式語言,同樣可以實現程序功能。近日,一位卡內基梅隆大學(CMU)的大四學生開發了基於文言文的程式語言,高中語文三大怕的文言文終於找上程式設計師了。
  • Python編程一般可以用來做什麼
    打開APP Python編程一般可以用來做什麼 發表於 2019-07-05 14:51:37 很多朋友可能會問,為什麼要學Python, 就算學會了Python 可以用來幹什麼呢?
  • 這味兒上頭,前有文言文,又來東北話,中文編程玩得挺得勁!
    「以人為本」新語言,先吹牛皮後實現關於這個東北話程式語言,作者是這麼介紹的:作者顯然對自己開發的語言很有信心,直接表示:「這玩意兒可是填補了世界方言編程地圖上的一大片兒空地啊! 這麼說吧,誰要是看了 dongbei 程序能忍住了不笑,我敬他是純爺們兒!」關於這個語言的開發過程,我們可以看出來作者的做法確實很有東北味。
  • 文言文程式語言,讓你明白什麼叫「中文比英語還難」.
    畢竟有易語言在前,有人認為中文可以降低國人學習編程的門檻
  • 為何「中文」不能用來做編程,而英文卻可以?看完後可算明白了
    導語:為何「中文」不能用來做編程,而英文卻可以?看完後可算明白了提起編程,很多人都會覺得做這些工作的人一定非常的聰明,而且心裡都會湧出一種非常敬佩的心理。是不知道大家有沒有注意過一個細節,就是有關於編程專業的人,都應該知道編程一般都是使用的英文。這是為什麼,中文怎麼就不能用來做編程了?就讓我們一起往下看吧!通過諮詢一些比較專業的編程人員,他們表示一個漢字相當於英文的兩個音節。所以這個問題就會造成不符合這個問題。
  • 8k+ star的文言文程式語言你寫得動嗎?
    本文經授權轉自公眾號 開源中國(ID:oschina03)近日有開發者開源了一門新的程式語言該語言名為「文言(wenyan-lang)」,這是一門採用文言文輸入的程式語言,該語言不包括英文字符,僅包含繁體中文字符,並保留繁體引號「」。先看看 Helloworld 怎麼寫:吾有一數。
  • 為什麼中文不能用來做編程,而英文卻可以?不妨聽下程式設計師怎麼說
    同時也有很多軟體的發行,像當下比較主流的微信、抖音、滴滴出行、支付寶等等軟體,這些都是需要程式設計師進行編程才能開發出來的功能。程式設計師在很多人眼中就是非常厲害的,很多人甚至都想到了黑客,正規的程式設計師叫做「程序猿」,而技術高超卻做著不合法的程式設計師叫做「黑客」,這兩個是有區別的。我們現在市場上大概分為兩種手機,一種是安卓手機、一種是蘋果手機。
  • 世界上第一種古典漢語程式語言
    它包括一個渲染器,可以顯示程序的方式,類似於中國古代文本頁面。黃玲東「我總是推遲閱讀,並嘗試閱讀更多的文言文書籍。最終,我決定多讀書可能只是拖延症的委婉說法,我需要去實現它,」「那是期末考試周,沒有課。所以我沒有學習,而是利用大部分空閒時間來實現文言文編程,在三四天內完成核心功能。」
  • 程式設計師用中文編程不遠咦——居然是用「文言文」寫出來的
    畢竟有易語言在前,有人認為中文可以降低國人學習編程的門檻,也增強漢語的國際地位。然而最近大火的文言文程式語言,讓你明白什麼叫「中文比英語還難」。Hello wenyan最近有個 GitHub 項目火了 —— 文言程式語言 / wenyan-lang。
  • 文言文程式語言來了,可是好像比英文更難寫了!
    近日有開發者開源了一門新的程式語言,吸引了大量開發者的目光,短短幾天獲得了 3k+ star。
  • 文科生學不會,理科生看不懂,這種國產程式語言居然還有IDE
    它就是一個大學生開源的程式語言:文言文程式語言。可能有些朋友知道,在全球知名的開源託管平臺上已經發布。這個文言文漢字程式語言是卡內基梅隆大學(CMU)的大四學生開發的,利用 NLP 的一些技術,將文言文程序語法轉換到 JavaScript 或 Python 運行,並不是簡單地將程序中的英文字符換成了中文。
  • 文言文程式語言來了 可是好像比英文更難寫了
    近日有開發者開源了一門新的程式語言,吸引了大量開發者的目光,短短幾天獲得了 3k+ star。
  • 眾多程式語言,分別都是用來幹嘛的?
    選擇哪一門程式語言更好?就目前來說, C語言主要用來開發底層模塊(比如驅動,解碼器,算法實現), 服務應用(比如web伺服器)和嵌入式應用(比如日常生活中的電器裡的程序)。C++也可以做這些,不過由於C++的複雜性和標準問題, 人們還是更願意使用C來做。
  • iPhone,iPad上可以用來學習編程的軟體有啥?
    Mac小能手來一波,2019手機上有啥好用的編程軟體(iOS版本,兼容iPad)。先把乾貨上齊》》》1,Python作為機器學習時代的強力語言,Python可謂是一飛沖天。App Store價格:68元(想用或者不會操作的可以私信我)3,JavaPico Complier是一款用於編寫java程序的開發環境,pico讓你能夠隨時隨地查看和編譯你的代碼。
  • 怎麼攻略滿分文言文
    攻略文言文課堂準備:①可以自帶一本輔導書上課之前拿筆在課本上畫出重點句子,並在下面寫上重點詞語、句子的意思。不要因為有了注釋而偷懶,通通搬到文字底下。課本的行距很寬,完全寫得下。②建議每學完一篇文言文,就對照輔導書或老師所講的,總結出文言句式,詞類活用,古今異義,通假字,重點實詞虛詞。這可以成為你考場上的法寶。你可以不刷題,但這些必須做。③錯題本方面用來記文言常識,個人認為不用手寫,可以列印。用來背誦。
  • 用文言文寫程序 新語言只有一個月歷史
    IEEE Spectrum 報導了 Lingdong Huang 開發的文言程式語言:用中國傳統的文言文寫代碼。文言程式語言的設想是在一年前提出的,上個月 Huang 利用在學校最後一周的空閒時間完成了新語言的核心功能,包括了一個以類似文言文的方式展示程序的渲染器。
  • 文言文虛詞有哪些 文言文虛詞有什麼
    文言文虛詞是學習文言文的一個重要環節,文言文虛詞在文言文中一般不作句子成分,不用來表示實在的意義的詞。 文言文虛詞主要的作用是組合語言單位。那你知道文言文虛詞有哪些嗎?下面讓我們一起來了解一下吧。