首页 > > > 世界上最难的编程语言是什么?
世界上最难的编程语言是什么?
是用文言文编程!
曾经,大雄和小伙伴们探讨过,为什么我们不能用中文进行编程。
想当初大雄信誓旦旦地说,
“ 这就像有小伙伴以为会写汉字
就会写出好文章一样
编程是和机器沟通
因此要用机器的语言而不是人类的语言 ”
结果现在就啪啪打脸。
最近有人不但是用中文进行了编程,甚至还是文言文。


△ 右边输出
吾有一言。曰「「問天地好在。」」。書之。
为什么输出了三遍?
因为有for循环。
甲等于三,所以就要问三次好。

经过大雄的仔细调查,发现此世间奇人来自卡内基·梅隆大学(Carnegie Mellon University),简称CMU。
少年名为Huang Lingdong,现在是一名大四生,明年就要毕业了。
据悉,这个文言文编程语言不仅可以编译成Javascript,还可以编译成Python。
易经是最早叙述二进制的古书,Huang同学用了易经中的阴和阳来代表布尔变量中的0和1。
其中,用“吾有”系列来做定义:
吾有一数是定义int变量;
吾有一爻是定义布尔变量;
吾有一言是定义字符串;
吾有一术是定义函数;
吾有一列是定义数组;
……

一般的编程里,循环判断有if、while、for,文言文编程在这件事上更是变化无穷。下面就是一段文言文书写的判断语句:
若三弗大於五者。乃得「「想當然耳」」。若非。乃得「「怪哉」」也。
翻译过来就是:

也许有小伙伴会觉得if…else…用文言文太啰嗦,但是我们常用的for循环,用文言文表达出来却更为简洁。
為是百遍。⋯⋯ 云云。
它的意思是:

如果需要判断某个变量human是否在world中,我们一般用for (var human of world),初学的小伙伴看到for的这种用法可能会感到困惑,而文言文的表示就更接近普通人的理解。
凡「天地」中之「人」。⋯⋯ 云云。
古有《易经》,今有金庸小说,在展示定义函数的时候,Huang同学又皮了一下:
吾有一術。名之曰「六脈神劍」。欲行是術。必先得六數。曰「甲」。曰「乙」。曰「丙」。曰「丁」。曰「戊」。曰「己」乃行是術曰。⋯⋯是謂「六脈神劍」之術也。
这里Huang同学将函数名定义为“六脉神剑”,这个函数总共有6个输入。

看完文言文编程的基本语法后,我们来看看怎么用它来解决一些基本的问题。
比如求100以内的素数,我们会用到一种“埃氏筛”(Sieve of Eratosthenes)算法:

(好的,看不懂,往下拉)
我们来看一下运行结果:
二。三。五。七。一十一。一十三。一十七。一十九。二十三。二十九。三十一。三十七。四十一。四十三。四十七。五十三。五十九。六十一。六十七。七十一。七十三。七十九。八十三。八十九。九十七
小伙伴们看懂是什么意思了吗?编译器翻译成JavaScript就是:

那此奇少年为什么要使用文言文来编程呢?
夫唐、虞之世,結繩而足治,屈指而足算。是時豈料百代之後,計算機械之巧,精於公輸之木鳶,善於武侯之流馬;程式語言之多,繁若《天官》之星宿,奇勝《山經》之走獸。鼠、蟹、鑽、魚,或以速稱。蛇、象、駱、犀,各爭文采。方知鬼之所以夜哭,天之所以雨粟。然以文言編程者 ,似所未有。此誠非文脈之所以傳,文心之所以保。嗟予小子,遂有斯志。
然則數寸之烏絲猶覆於頭,萬卷之素書未破於手;一身長羁于远邦,兩耳久旷于雅言。然夫文章者吾之所宿好,程式者偶承時人之謬譽。故希孟不慚年少,莊生不望無涯。乃作斯言。誠未能嘔瀝長吉之心血,亦庶幾免於義山之流沫。既成之後,復學干將鑄劍而自飼,越王嚐糞而當先。自謂偶追《十書》之筆意,但恨少八家之淋漓。此子山所謂士衡抚掌而甘心,平子見陋而固宜。然則雖實覆甕之質,尚存斧正之望;雖乏呂相之金,易字之渴蓋同。此亦開源之大義,吾輩之所以勉勵也。一笑。
简单点来说,就是:
上古人类结绳记事,不会想到后代竟然发明了计算机。今天编程语言众星闪耀,只是没有人用文言编程。我人在国外,想念这些古典的言语,同时又擅长编程又有头发,决定为开源事业贡献一份力量。
由此我们可以看出,此编程少年简直就是文科生和理科生的完美结合啊!俗称“别人家的孩子”。
当然,此奇少年是少数,我们一般人确实还是达不到这种水平哒。
小伙伴们首要的还是得先打好基础,有了基础才能更好地实现自己改变世界的梦想呀!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2508/viewspace-3156457/ ,如需转载,请注明出处,否则将追究法律责任。