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

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/


科技分類資訊推薦

平板電腦+AI?榮耀平板MagicPad3的AI到底能做些什麼? - 天天要聞

平板電腦+AI?榮耀平板MagicPad3的AI到底能做些什麼?

在今年上半年的MWC2025上,榮耀正式公布了阿爾法戰略,宣布由手機製造商向AI終端生態公司所轉型,在今年,我們已經看到了很多榮耀新品搭載了其最新的AI技術如影像技術AiMAGE、移動AI智能體YOYO等。與此同時,在公布阿爾法戰略僅不到半年,榮耀正式更新了其旗艦平板電腦產品MagicPad3,並毫無例外的加入了諸多AI方面的功能,...
高效製作電子畫冊的優質軟件推薦 - 天天要聞

高效製作電子畫冊的優質軟件推薦

高效製作電子畫冊不僅能節省寶貴時間,還能提升作品的專業品質。作為設計師,我們需要依賴功能強大、操作便捷的工具來實現靈感的快速轉化。今天為大家推薦幾款在行業內口碑良好的電子畫冊製作軟件,幫助您事半功倍。1.
馬雲現身比利時大廣場低頭專註看手機:還帶了幾個保鏢 - 天天要聞

馬雲現身比利時大廣場低頭專註看手機:還帶了幾個保鏢

近日,有網友發帖稱在比利時布魯塞爾大廣場偶遇阿里巴巴創始人馬雲,並分享出幾張偶遇照片。網友爆料稱,馬雲還帶了幾個陪同保鏢。據拍攝者發佈圖片顯示,當天馬雲身着白襯衫,搭配同色系休閑褲,正坐在椅子上低頭看着手機,神情專註。近年來,「退居二線」的馬雲不斷在國外被網友偶遇,雖然他的生活方式變得如同「閑雲野鶴...
藍寶石推出 NiTRO+ 氮動 B850A / B650A WIFI 主板 - 天天要聞

藍寶石推出 NiTRO+ 氮動 B850A / B650A WIFI 主板

IT之家 7 月 4 日消息,藍寶石(藍寶科技)現已推出 NiTRO+ 氮動 B850A WIFI 和 NiTRO+ 氮動 B650A WIFI 兩款姊妹主板。這一對產品從介紹上來看沒有明顯功能差異,主要區別體現在左上方鋁製馬甲的裝飾風格上。藍寶石 NiTRO+ B850A / B650A WIFI 主板屬於標準 ATX 板型,採用氮動系列家族化極客設計語言
消息稱AMD Zen 6 架構引入多層 3D 堆疊緩存 - 天天要聞

消息稱AMD Zen 6 架構引入多層 3D 堆疊緩存

IT之家 7 月 4 日消息,消息源 Moore's Law Is Dead(MLID)在最新一期視頻中,曝料稱 AMD 將變革 Zen 6 架構,通過多層 3D 堆疊緩存,相比較 Zen 5 架構,FP IPC (浮點運算每時鐘指令數) 增幅可達到 6~8%。在 Zen 5 架構上,每個 3D V-Cache 層最高可以緩存 64MB,而在 Zen 6 架
格力朱磊:董明珠的影響力不來自於財富,來自於她所創造的財富 - 天天要聞

格力朱磊:董明珠的影響力不來自於財富,來自於她所創造的財富

IT之家 7 月 4 日消息,格力電器市場總監朱磊今日發佈微博稱,董明珠的影響力不來自於財富,來自於她所創造的財富。朱磊的微博配圖顯示:2012 年董明珠出任格力電器董事長至今格力電器累計納稅 1741.95 億元累計向股民分紅 1666.56 億元格力電器創造 48 項國際領先技術專利超 13 萬項發明專利授權量連續 8 年位列家電行業第...
開啟第四次OTA 超26項升級優化助豹8不斷進階 - 天天要聞

開啟第四次OTA 超26項升級優化助豹8不斷進階

6月30日,方程豹豹8迎來了第四次OTA升級,以16項新增功能、10項優化體驗,在智能駕駛、AI座艙、動態控制三大領域完成了一次有態度的進化。此次升級,讓豹8不僅擁有機械素質鑄就的力量感,還能讀懂生活的細節,讓智能不止於功能堆砌,更是想你所