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

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/


科技分類資訊推薦

15元可激光打標定製充電寶3C符號!律師:偽造認證標誌違法 - 天天要聞

15元可激光打標定製充電寶3C符號!律師:偽造認證標誌違法

新京報貝殼財經訊(記者俞金旻) 充電寶乘機「新規」一周,充電寶自棄量大幅下降,越來越多的旅客會選購符合乘機要求的充電寶,並在出門前仔細檢查。6月28日起,中國民航局禁止旅客攜帶沒有3C標識、3C標識不清晰、被召回型號或批次的充電寶乘坐境內航班。此前,貝殼財經記者曾報道,電商平台有商家售賣3C認證標籤貼紙,相關...
上海浦東機場宣布:正式啟用!13台睡眠艙來了,「可充電,有燈、小平板」,價格公布 - 天天要聞

上海浦東機場宣布:正式啟用!13台睡眠艙來了,「可充電,有燈、小平板」,價格公布

上海浦東機場T2航站樓有睡眠艙了7月4日,記者從睡眠艙運營商相關負責人處了解到,在浦東機場T2國際出發D65登機口處,首批13台睡眠艙已投入運營,目前24小時開放,艙內有新風系統,提供毯子,一客一清潔消毒。價格表顯示,休息半小時35元、一小時65元、1.5小時95元、2小時125元、3小時185元,滿360分鐘送120分鐘、也就...
標配智能電混四驅+激光雷達 領克10 EM-P正式發布 - 天天要聞

標配智能電混四驅+激光雷達 領克10 EM-P正式發布

【TechWeb】7月4日消息,領克品牌旗下首款中大型豪華運動轎車領克10 EM-P今日迎來首秀。新車標配四驅和激光雷達,同時搭載領克全新EM-P智能電混系統,將於下月開啟預售,並在第三季度內完成上市。外觀方面,新車採用了領克The Next Day設計語言,整體風格與領克Z10十分相似。車頭採用標誌性的分體式頭燈,下方配有貫穿式燈...
全球發明大會中國區上海開賽,超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日,濟南遙牆國際機場工作人員向記者表示,該機場嚴格執行民航局通知,禁止旅客...