开发文言文编程语言的是正在读大四的HuangLingdong同学,用量子位的话来说「Huang Lingdong同学应该是读过《易经》,毕竟易经是最早论述二进制的古书。他用易经的阴和阳代表布尔变量中的0和1。
吾有一数是定义int变量;
吾有一爻是定义布尔变量;
吾有一言是定义字符串;
吾有一术是定义函数;
吾有一列是定义数组;
……」
Huang Lingdong同学开发文言文编程语言的初衷:“程式語言之多,繁若《天官》之星宿,奇勝《山經》之走獸……方知鬼之所以夜哭,天之所以雨粟。然以文言編程者,似所未有。此誠非文脈之所以傳,文心之所以保。嗟予小子,遂有斯志……”大意是说世间编程语言多如《天官》中的星宿、奇胜过《山海经》中的走兽,虽然仓颉造字惊天地、泣鬼神,造字已有几千年,但是却好像从来没有出现过文言文编程语言,这实在是不应该啊,这实在不是中华文化的幸事啊,有鉴于此,我这个后生晚辈就产生了开发文言文编程语言的想法,并把这个作为了自己的一个志向。据信六十多年前宗教家破解了《诗经》,创造了IBM 701,《诗经》的所有架构在1956年被成功应用于IBM305 RAMAC,为人类带来了信息工业革命,IBM也因此而辉煌,笑傲江湖数十年。可惜甲骨文在清朝时被雪藏,甲骨文视觉方程几乎失传,可喜的是如今已有年轻人开发出文言文编程语言,甲骨文的象形本义也还原了一部分(参见《多功能汉字甲骨文破译字典》),距离破译甲骨文象形程序语言又前进了一步;正所谓长江后浪推前浪,希望年轻人多多潜心研究,破译古籍,让真正的中华文化重新发出璀璨的光芒,而你们也终将青史留名,泽被后人,万古流芳。
附:文言文编程的基本语法(节选):
Variables
wenyan
|
JavaScript
|
吾有一數。曰三。名之曰「甲」。
|
var a = 3;
|
有數五十。名之曰「大衍」。
|
var dayan = 50;
|
昔之「甲」者。今「大衍」是矣。
|
a = dayan;
|
吾有一言。曰「「噫吁戲」」。名之曰「乙」。
|
var b = "alas!";
|
吾有一爻。曰陰。名之曰「丙」。
|
var c = false;
|
吾有一列。名之曰「丁」。
|
var d = [];
|
吾有三數。曰一。曰三。曰五。名之曰「甲」曰「乙」曰「丙」。
|
var a=1,b=3,c=5;
|
Control
wenyan
|
JavaScript
|
若三大於二者。乃得「「想當然耳」」也。
|
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;
|
Math
wenyan
|
JavaScript
|
加一以二。
|
1+2
|
加一於二。
|
2+1
|
加一以二。乘其以三。
|
(1+2)*3
|
除十以三。所餘幾何。
|
10%3
|
減七百五十六以四百三十三。名之曰「甲」。
|
var a = 756-433;
|
夫「甲」「乙」中有陽乎。
|
a || b
|
夫「甲」「乙」中無陰乎。
|
a && b
|
Containers
Arrays are 1-indexed.
wenyan
|
JavaScript
|
吾有一列。名之曰「甲」。充「甲」以四。以二。
|
var a = []; a.push(4, 2);
|
銜「甲」以「乙」。以「丙」
|
a.concat(b).concat(c);
|
夫「甲」之一。
|
a[0]
|
夫「甲」之其餘。
|
a.slice(1);
|
夫「玫瑰」之「「名」」。
|
rose["name"]
|
夫「寶劍」之長。
|
sword.length;
|
Objects
wenyan
|
JavaScript
|
吾有一物。名之曰「甲」。
|
var a = {};
|
吾有一物。名之曰「甲」。其物如是。物之「「乙」」者。數曰三。物之「「丙」」者。言曰「「丁」」。是謂「甲」之物也。
|
var a = {b:3, c:"d"}
|
Functions
wenyan
|
JavaScript
|
吾有一術。名之曰「吸星大法」。是術曰。 ⋯⋯ 是謂「吸星大法」之術也。
|
function f(){...}
|
吾有一術。名之曰「六脈神劍」。欲行是術。必先得六數。曰「甲」。曰「乙」。曰「丙」。曰「丁」。曰「戊」。曰「己」乃行是術曰。 ⋯⋯ 是謂「六脈神劍」之術也。
|
function f(a,b,c,d,e,f){...}
|
吾有一術。名之曰「翻倍」。欲行是術。必先得一數。曰「甲」。乃行是術曰。乘「甲」以二。名之曰「乙」。乃得「乙」。是謂「翻倍」之術也。
|
function double(a){var b = a * 2; return b;}
|
施「翻倍」於「大衍」。
|
double(dayan);
|
吾有一數。曰五。書之。
|
console.log(5);
|
项目代码:
https://github.com/LingDong-/wenyan-lang
项目主页:
http://wenyan-lang.lingdong.works/
线上IDE试玩:
http://wenyan-lang.lingdong.works/ide.html
个人主页:
https://lingdong.works/