查看原文
其他

文言文已经没啥用了?错!还能编程用!

程序猿DD 2020-10-16

点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

最近有个编程语言火了,不是Java、不是Python,也不是世界上最好的语言。而是一款由卡内基梅隆大学一名大四学生打造的文言文编程语言:文言(wenyan-lang)

简介

该语言完全不使用英文字符,只包含繁体中文字符以及繁体的引号「」。

所以,它的 Hello World 画风是这样的:

这段文言文代码的意思是啥?看看等效的JavaScript代码:

这两个不同语言的代码最终都会实现如下输出内容:

语言介绍

是不是很就没读文言文,已经看不懂了?

下面这些语法定义有没有让你想起学生时代的小学妹?

变量
wenyanJavaScript
吾有一數。曰三。名之曰「甲」。var a = 3;
有數五十。名之曰「大衍」。var dayan = 50;
昔之「甲」者。今「大衍」是也。a = dayan;
吾有一言。曰「「噫吁戲」」。名之曰「乙」。var b = "alas!";
吾有一爻。曰陰。名之曰「丙」。var c = false;
吾有一列。名之曰「丁」。var d = [];
吾有三數。曰一。曰三。曰五。名之曰「甲」曰「乙」曰「丙」。var a=1,b=3,c=5;

控制

wenyanJavaScript
若三大於二者。乃得「「想當然耳」」也。if (3>2){ return "of course"; }
若三不大於五者。乃得「「想當然耳」」。若非。乃得「「怪哉」」也。if(3<=5){return "of course"}else{return "no way"}
為是百遍。⋯⋯ 云云。for (var i = 0; i < 100; i++){ ... }
恆為是。⋯⋯ 云云。while (true) { ... }
凡「天地」中之「人」。⋯⋯ 云云。for (var human of world){ ... }
乃止。break;

运算

wenyanJavaScript
加一以二。1+2
加一於二。2+1
加一以二。乘其以三。(1+2)*3
除十以三。所餘幾何。10%3
減七百五十六以四百三十三。名之曰「甲」。var a = 756-433;
夫「甲」「乙」中有陽乎。a || b
夫「甲」「乙」中無陰乎。a && b

容器

数组从 1 开始索引。

wenyanJavaScript
吾有一列。名之曰「甲」。充「甲」以四。以二。var a = []; a.push(4, 2);
銜「甲」以「乙」。以「丙」a.concat(b).concat(c);
夫「甲」之一。a[0]
夫「甲」之其餘。a.slice(1);
夫「玫瑰」之「「名」」。rose["name"]
夫「寶劍」之長。sword.length;

函数

wenyanJavaScript
吾有一術。名之曰「吸星大法」。是術曰。⋯⋯是謂「吸星大法」之術也。function f(){...}
吾有一術。名之曰「六脈神劍」。欲行是術。必先得六數。曰「甲」。曰「乙」。曰「丙」。曰「丁」。曰「戊」。曰「己」乃行是術曰。⋯⋯是謂「六脈神劍」之術也。function f(a,b,c,d,e,f){...}
吾有一術。名之曰「翻倍」。欲行是術。必先得一數。曰「甲」。乃行是術曰。乘「甲」以二。名之曰「乙」。乃得「乙」。是謂「翻倍」之術也。function double(a){var b = a * 2; return b;}


相关资源

更多关系文言的详细信息可以在它的官网中了解:http://wenyan-lang.lingdong.works/

除此之外,还提供一个在线编辑器:http://wenyan-lang.lingdong.works/ide.html


本文通过OpenWrite的Markdown转换工具发布

关注我,回复“加群”加入各种主题讨论群



点击“阅读原文”免费领取价值199元学习大礼包

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存