当前位置: 主页 > 房产资讯 >

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

     时间:2019-12-18 20:09  

    (原标题:噫吁嚱!文言文亦能编程!此诚年度最骚语言也)

    文/栗子 晓查

    来源:量子位(ID:QbitAI)

    同学,你可知如何用文言文输出“Hello World”?

    请君睁圆双眼注视于此:

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    △右边一顿输出

    吾有一言。曰「「問天地好在。」」。書之。

    却为何输出了三遍?

    只因有for循环,写作“為是「甲」遍…云云”。甲等于三,便要问三次好。

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    这骚之过极的文言文编程语言,来自CMU本科生Huang Lingdong。

    可编译成Javascript,也可编译成Python,亦有线上编辑器 (IDE) 可直接玩耍。

    项目文理两开花,已于GitHub摘得3000星,且围观众人皆有话说。

    譬如,妒少年之才华:

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    譬如,点未来之方向:

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    中科院计算所研究员刘群老师亦感叹:

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    当下,我等便前去观膜一番,探索此语言藏有何种天地精华。

    文言文编程“黑话”

    Huang Lingdong同学应该是读过《易经》,毕竟易经是最早论述二进制的古书。他用易经的阴和阳代表布尔变量中的0和1。

    “吾有”系列则被用来做定义:

    吾有一数是定义int变量;

    吾有一爻是定义布尔变量;

    吾有一言是定义字符串;

    吾有一术是定义函数;

    吾有一列是定义数组;

    ……

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    一般的编程里,循环判断有if、while、for,文言文编程在这件事上更是变化无穷。下面就是一段文言文书写的判断语句:

    若三弗大於五者。乃得「「想當然耳」」。若非。乃得「「怪哉」」也。

    翻译过来就是:

    if(3<=5)

    else

    也许你会觉得if…else…语句用文言文太啰嗦,但是常用的for循环,用文言文表达却更为简洁。

    為是百遍。 云云。

    它的意思是:

    for(vari=0;i<100;i++)

    如果需要判断某个变量human是否在world中,我们一般用for (var human of world),初学者看到for的这种用法可能会很困惑,而文言文的表示更接近普通人的理解。

    凡「天地」中之「人」。 云云。

    古有《易经》,今有金庸小说,在展示定义函数的时候,Huang同学又皮了一下:

    吾有一術。名之曰「六脈神劍」。欲行是術。必先得六數。曰「甲」。曰「乙」。曰「丙」。曰「丁」。曰「戊」。曰「己」乃行是術曰。是謂「六脈神劍」之術也。

    这里Huang同学将函数名定义为“六脉神剑”,这个函数总共有6个输入。

    funcionf(a,b,c,d,e,f)

    还有更多好玩的函数定义:

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    怎样用文言文编程

    看完文言文编程的基本语法后,我们来看看怎么用它来解决一些基本的问题。

    比如求100以内的素数,我们会用到一种“埃氏筛”(Sieve of Eratosthenes)算法:

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    看一下运行结果:

    二。三。五。七。一十一。一十三。一十七。一十九。二十三。二十九。三十一。三十七。四十一。四十三。四十七。五十三。五十九。六十一。六十七。七十一。七十三。七十九。八十三。八十九。九十七

    你看懂是什么意思了吗?编译器翻译成JavaScript就是:

    varAI1SHI4SHAI1=()=>0;

    AI1SHI4SHAI1=function(JIA3);

    var_ans154=JIA3/2;

    varJIA3BAN4=_ans154;

    varWU4=2;

    while(true);

    varXU1_=2;

    while(true);

    var_ans155=WU4*XU1_;

    varHE2=_ans155;

    if(HE2<=JIA3)else;

    var_ans156=1+XU1_;

    XU1_=_ans156;

    };

    var_ans157=1+WU4;

    WU4=_ans157;

    };

    varZHU1SU4=[];

    varWU4=2;

    while(true);

    var_ans158=YAN3[WU4-1];

    varSU4YE2=_ans158;

    if(SU4YE2);

    var_ans159=1+WU4;

    WU4=_ans159;

    };

    returnZHU1SU4

    };

    var_ans160=AI1SHI4SHAI1(100);

    console.log(_ans160);

    文言文编程不仅能输出简单的结果,连文字图(ASCII Art)都可以用文言文画出来,分形问题中著名的“曼德博集合”,用中文画出来是这样:

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    △用中文画出的曼德博集合

    你以为这就是编译结果的最终形态了?错错错!

    项目文件还有个脚本src/render.js,它可以把程序渲染成古代书籍的样子。把O’Reilly系列图书印刷成古代线装书,真是想想就很激动啊。

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    安装与使用

    文言文编程只需将repo下载到本地,而且本地已经安装Node,就能立即使用。现在它支持将wenyan lang转换成JavaScript和Python:

    ./build/wenyan.js examples/helloworld.wy -o helloworld.js

    在这段命令中,如果不指定语言,程序将自动转化为JavaScript,若想转化成Python,请加入参数“—lang py”或是“-l py”。

    用户也可以自行编译二进制文件。如果你只想尝尝鲜,在线IDE也是个不错的选择。

    何出此“言”

    至于,为何要炮制一门文言编程语言,少年为项目写有一序,由此可窥一二 (后有解读) :

    夫唐、虞之世,結繩而足治,屈指而足算。是時豈料百代之後,計算機械之巧,精於公輸之木鳶,善於武侯之流馬;程式語言之多,繁若《天官》之星宿,奇勝《山經》之走獸。鼠、蟹、鑽、魚,或以速稱。蛇、象、駱、犀,各爭文采。方知鬼之所以夜哭,天之所以雨粟。然以文言編程者 ,似所未有。此誠非文脈之所以傳,文心之所以保。嗟予小子,遂有斯志。

    然則數寸之烏絲猶覆於頭,萬卷之素書未破於手;一身長羁于远邦,兩耳久旷于雅言。然夫文章者吾之所宿好,程式者偶承時人之謬譽。故希孟不慚年少,莊生不望無涯。乃作斯言。誠未能嘔瀝長吉之心血,亦庶幾免於義山之流沫。既成之後,復學干將鑄劍而自飼,越王嚐糞而當先。自謂偶追《十書》之筆意,但恨少八家之淋漓。此子山所謂士衡抚掌而甘心,平子見陋而固宜。然則雖實覆甕之質,尚存斧正之望;雖乏呂相之金,易字之渴蓋同。此亦開源之大義,吾輩之所以勉勵也。一笑。

    文中典故之多,恐无法在此一一注释,便以划重点之法,粗粗领会其意味,并简要传达为白话:

    上古人类结绳记事,不会想到后代竟然发明了计算机。今天编程语言众星闪耀,只是没有人用文言编程。我人在国外,想念这些古典的言语,同时又擅长编程又有头发,决定为开源事业贡献一份力量。

    注:如想查看所有典故,请前往项目页,出处皆有维基百科链接。

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    量子位循蛛丝马迹,得知少年名叫HuangLingdong,来自卡耐基梅隆大学,如今大四,明年即将毕业。高中则毕业自上海世界外国语中学。

    黄姓少年一路脑洞盛开,时常开发画风清奇之项目,量子位也曾为其另一项目撰文:

    任君信笔涂鸦,皆可化作梦境中之角色,生龙活虎,与其他人物一同玩耍游荡。如百鬼夜行之雄风。

    噫吁嚱!白话文亦能编程!此诚年度最骚说话也

    而文言文编程语言,大抵是少年迄今最为骄傲且最为瞩目之成就。

    各位可速速前往吸之,定然无法自拔。

    传送门

    项目代码:

    https://github.com/LingDong-/wenyan-lang

    项目主页:

    http://wenyan-lang.lingdong.works/

    线上IDE试玩:

    http://wenyan-lang.lingdong.works/ide.html

    个人主页:

    https://lingdong.works/

  •  
太保家园发布认知症照护子品牌“乐忆家 隆平高科前董秘内幕交易赚2万被罚200万申 宁波银行绍兴分行开展汇率避险暨金融助 中国人寿蔡希良:进一步发挥保险资金优 裕隆汽金获批更名为“北汽汽金” 老百姓实控人谢子龙解除留置 国家林业和草原局、文化和旅游部联合推 云天励飞成都子公司中标1.3亿项目,对 杭州银行亮相第三届全球数字贸易博览会 节前消费市场热潮涌动 国庆假期经济蓄势 持续践行金融教育 守护人民金融安全 大 2024年“金融教育宣传月”信泰保险在行动 生态“颜值”变“产值” “两端发力”吸 幽默短片《装家门诊》:欧派的创新IP营 北京农商银行创新推出“保供e贷” 数字 我国算力网络互联互通水平提升 应用项目 前三季度新成立基金规模近9000亿 债券基 三七互娱新生代人才招募进行时 创始人邀 榕树贷款加入鸿蒙阵营,征战国产“纯血 第三届北京城市更新论坛暨第二届城市更 两协会倡议银行等降低小微企业支付手续 国庆假期新能源汽车出行迎高峰 设备更新 笃行七载铸功业 奋楫扬鞭开新局 华夏银 完美日记连登全球两大科学权威期刊 重磅 致敬耕耘、礼赞收获 “甜蜜产业”鼓了百 农业实现“隔空把脉” 科技赋能绘就好“ 文旅商融合多场景 丰富国庆假日体验 肆拾玖坊x善品堂跨界合作 “八十一章” 助推中国文化新风潮 嘀嗒出行将全国七大 第十七届热电行业发展论坛暨2024热电产业 能源转型“绿”意浓 厚植高质量成长洁净 业内:深化“多规合一”鼎新 健全城市计 铁路国庆黄金周搭客运输本日启动 估计发 “防洪减灾齐思防患”防洪减灾科普进校 《陈述》:触及专利的集体尺度数目在逐 证监会:加速完美“长钱长投”的政策系 2024年全国林业和草原科普讲授年夜赛总决 国庆假期自驾出行比例将超80% 新能源汽车 绘说现代化丨低碳中国 绿色同享 财经不雅察:数据财产成长“顶层设计” 2024世界新能源汽车年夜会在海口进行 记者往哪儿:往有“星光”的处所看夜经 乌克兰危机“和平之友”小组在结合国成 澳门公然赛半决赛国羽四战全胜 将冲击 郑钦文2:0力克拉希莫娃 轻松升级中网女单 交际部:提示中国公平易近暂勿前去黎巴 中华人平易近共和国国度勋章和国度声誉 中国网球公然赛女单32强出炉 辛纳、梅德 长线游、生态游成首选 国庆假期旅游消费 2024中国网球公然赛赛程直播时间表9月2 游泳全锦赛:孙佳俊、唐钱婷再破亚洲记 英超-萨拉赫点射 利物浦客场2-1狼队登顶 中超综合:武磊伤退 上海海港险胜青岛西 四川女篮三战全胜夺患上首届亚洲女篮联 中网综合:郑钦文表态轻松取胜 辛纳晋级 WTT中国年夜满贯正赛赛程直播时间表9月 中新真探:吃樱桃能补铁吗? 2024中网郑钦文最新赛程下一场角逐时间 时期汽车发布全新计谋:2030年实现销量 车市“赤色金九银十”:车企疯狂推新, 日月视频 手机版 欧歌影视仓 免费版 大吉订购 最新版 月光影视仓 手机版 比目鱼影视 官方版 南柯电影网无广告 最新版 巴黎直播 手机版 91日剧 手机版 月兔直播 免费版 泰剧兔官网 免费版 小鱼影视2024 官方版 谷歌街景地图 手机版 dj打碟机模拟器 最新版 嘿嘿动漫 最新版 影视工场播放器 手机版 风筝影视 最新版 星空动漫 最新版 七星直播t 官方版 逗猫动漫 官方版 蜜果酱直播 免费版 河狸影院 最新版 高德地图车机 免费版 花火影院 手机版 hifi音乐电视免费版 松果影视 最新版 今日头条2024 最新版 白泽影视t 最新版 巴士影院 最新版 洋葱T直播 手机版 忍者必须死3vivo免费版 魔剑奇兵折扣官方版 忍者必须死3官服2024官方版 口袋进化微信登录手机版 口袋进化vivo最新版 口袋进化qq登录本官方版 口袋进化应用宝最新版 口袋进化OPPO渠道服官方版 口袋进化小米免费版 555电影正 官方版 天天趣玩红 最新版 地球影视 官方版 小柠檬影视 手机版 电影猎手追剧 免费版 B次元官网正式 免费版 两年半社区安装 最新版 小柚子影视 免费版 姐衣yw二手衣物 最新版 达达龟影视 最新版 乐享音乐 官方版 暖光影视 免费版