年度最骚的编程语言来了!大四学生发明文言文编程语言

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底...