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

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不仅拥有机械素质铸就的力量感,还能读懂生活的细节,让智能不止于功能堆砌,更是想你所