年度最騷的編程語言來了!大四學生髮明文言文編程語言

2019年12月21日21:05:10 科技 1622

開源最前線(ID:OpenSourceTop) 猿妹綜合整理


猿妹這兩天刷微博、朋友圈、公眾號,發現大家都被一個文言文編程的項目圈粉了。


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


就連中科院計算所研究員、機器翻譯領域知名專家劉群老師都讚歎道:後生可畏


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


到底是什麼神仙項目,竟然獲得如此高的評價?原來,這是一位卡內基梅隆大學(CMU)的大四學生開發的基於文言文的編程語言。


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


這個項目叫做Lingdong,可編譯成Javascript,也可編譯成Python,而且還有線上編輯器可直接運行。如今已經在Github上標星7K324個Fork(Github地址:https://github.com/LingDong-/


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


而且發文前,Lingdong妥妥霸榜GitHub Trending日榜第一,單日斬獲4000+Star!下面還是來看看Lingdong怎麼用吧。


假如你想知道文言文是如何輸出「Hello World」?,你會發現原來是這樣的:


吾有一數。曰三。名之曰「甲」。為是「甲」遍。吾有一言。曰「「問天地好在。」」。書之。云云。


編譯成JavaScript是這樣的:


varn=3;for(vari=0;i<n;i++){console.log("問天地好在。");}


輸出是這樣的


問天地好在。問天地好在。問天地好在。


再比如,我們大學時候的編程,總會有一道求100以內素數的練習題,放到文言文里會是怎樣的呢?這時候,你就要用到一個名為「埃氏篩」的算法,完整文言文如下:


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


編譯成JavaScript就是如下這樣:


var埃氏篩=()=>0;埃氏篩=function(甲){var掩=[];for(var_rand1=0;_rand1<甲;_rand1++){掩.push(true);};var_ans1=甲/2;var甲半=_ans1;var戊=2;while(true){if(戊==甲半){break;};var戌=2;while(true){if(戌==甲半){break;};var_ans2=戊*戌;var合=_ans2;if(合<=甲){掩[合-1]=false;}else{break;};var_ans3=1+戌;戌=_ans3;};var_ans4=1+戊;戊=_ans4;};var諸素=[];var戊=2;while(true){if(戊==掩.length){break;};var_ans5=掩[戊-1];var素耶=_ans5;if(素耶){諸素.push(戊);};var_ans6=1+戊;戊=_ans6;};return諸素};var_ans7=埃氏篩(100);console.log(_ans7);


最後,我們來看看運行結果:


2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97


猿妹找不到文言文來誇它,那就只能說出一個字:牛!!!


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


此外,作者還提供了一個在線的IDE,你不妨趕緊試試,地址:http://wenyan-lang.lingdong.works/ide.html


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


你以為這就夠了么?當然不,作者還做了個圖靈機demo:


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


相關語法表


下面,我們在來看看相關的語法表,比如他是如何定義一個變量的:


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


還有一些運算是如何定義的呢?如下:


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


還有基本的數學運算:


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


最後還有函數定義:


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


看到這裡,猿妹只能自嘆自己沒文化了,當年沒能好好動腦敲代碼。


安裝與使用


說了這麼多,要如何安裝使用呢?你只需要克隆此項目, (或者直接下載 ./build/wenyan.js 然後賦予它執行權限,在終端中輸入 chmod +x wenyan.js)。 之後執行 ./build/wenyan.js 把源代碼編譯成為目標語言。如果執行此命令不帶任何參數,則輸出以下幫助信息。


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞

然後就可以嘗試編譯幾個簡單的例子啦:


./build/wenyan.jsexamples/helloworld.wy-ohelloworld.js


如果你只是嘗鮮,就通過前面的IDE地址就可以體驗啦。


關於作者


作者是一名卡內基梅隆大學的大四學生,將在2020年取得計算機科學學位,雖然還未畢業但已經有多個實習經歷。也有自己的個人項目網站。


年度最騷的編程語言來了!大四學生髮明文言文編程語言 - 天天要聞


通過他的Github主頁,你還可以找到很多有趣的項目,例如可以用程序無限生成的中國山水畫,age2death(抖音很火的看着自己慢慢變老),edges2calligraphy(把你的塗鴉變成中國書法)格律詩編輯程序,隱士等等,從這些項目可以看出,這是一個對中國文化很感興趣的小哥哥。


最後再附上他的主頁地址:https://lingdong.works/


科技分類資訊推薦

全球發明大會中國區上海開賽,超2000名學生參賽,宇樹機械人也穿上賽服 - 天天要聞

全球發明大會中國區上海開賽,超2000名學生參賽,宇樹機械人也穿上賽服

7月4日,2024-2025年度全球發明大會中國區(ICC)上海賽區在寶山區青少年活動中心開賽。宇樹科技機械人G1與2000多名來自長三角等地區的參賽青少年一樣,也穿上賽服躍躍欲試。它還和小發明家一起,與現場觀賽的中國科學院院士、上海技術物理研究所研究員、世界電磁波科學界最高獎得主沈學礎等握手相擁。沈學礎院士與小選手在...
朝陽前瞻布局元宇宙,未來顯示產業園等成果批量上新 - 天天要聞

朝陽前瞻布局元宇宙,未來顯示產業園等成果批量上新

元宇宙是北京市重點布局的未來產業之一。7月4日,作為全國規模最大、產業鏈生態最完整的元宇宙(互聯網3.0)生態發展集聚區,朝陽區舉辦2025全球數字經濟大會AIGC與元宇宙融合發展論壇。AIGC(人工智能內容生成)工具平台、2025朝陽區元宇宙標杆示範應用場景、元宇宙應用場景示範基地、未來顯示產業園、ULive超現場播控中心...
虛假信息面前,AI為何「智商下線」? - 天天要聞

虛假信息面前,AI為何「智商下線」?

□曹欣怡(雲南財經大學)7月4日,「DeepSeek給王一博道歉是假的」衝上微博熱搜。據稱,這家人工智能公司因內容審核疏漏,將王一博與「李愛慶腐敗案」不當關聯,損害了其名譽,並已作出正式道歉。
無3C標識充電寶「禁飛」首周:民航與鐵路安檢標準不一 - 天天要聞

無3C標識充電寶「禁飛」首周:民航與鐵路安檢標準不一

自6月28日起,民航局禁止旅客攜帶無3C標識及被召回的充電寶乘坐境內航班,另一方面,鐵路部門並不查驗充電寶3C認證標識或品牌。針對充電寶「禁飛」一周來的落實情況,記者進行了走訪調查。濟南遙牆國際機場:鼓包或破損的充電寶也「禁飛」7月4日,濟南遙牆國際機場工作人員向記者表示,該機場嚴格執行民航局通知,禁止旅客...
最新!白雲機場:充電寶7天內免費暫存 - 天天要聞

最新!白雲機場:充電寶7天內免費暫存

今天(7月4日)是民航局充電寶乘機攜帶新政策正式實施的第6天,記者從廣州白雲機場獲悉,旅客攜帶不合規充電寶的數量呈明顯減少趨勢。據悉,白雲機場提供充電寶暫存服務供旅客選擇,兩座航站樓均設有暫存點,7天內免費暫存,7天後視為自棄處理。根據民航局通知要求,為切實保障航空運行安全,6月28日起禁止旅客攜帶沒有3C標...
小鵬G7正式上市 極致AI科技與滿配舒適兼得 - 天天要聞

小鵬G7正式上市 極致AI科技與滿配舒適兼得

日前,小鵬汽車正式發佈全新AI智能家庭SUV——小鵬G7。新車共推出602長續航Max、702超長續航Max、702超長續航Ultra三個版本,上市即刻可以交付。 作為全球首款L3級算力的AI汽車,小鵬G7不僅實現了2250TOPS有效算力以及本地端VLA+VLM大模型的行業首發,更以行業領先的「追光全景」抬頭顯示、「857」的領先三電配置、太極AI底...