第十七章 语言与数学
如果说现代语言学起源自费尔迪南·德·索绪尔,那么诺姆·乔姆斯基就是索绪尔之后的高峰。而乔姆斯基除了作为语言学家、哲学家与社会学家广为人知之外,他还可以算是一个数学家。
他对语言学的研究,甚至被录入了数学史之中。
“上下文无关语言的语法”和“正则语言的语法”这两个由乔姆斯基创造的领域,在计算机科学理论之中,也有相当的地位。
遗传学家们同样尊敬乔姆 斯基,他们认为,乔姆斯基对语言的研究,或许可以成为破解遗传密码的钥匙——他们可以反推出隐藏在遗传信息中的、“造物主的语言”。
或者说,遗传化学所遵循的“程序”。
只要对相关领域的数学有足够深的研究,那么创造一门独有的语言,就不是太困难的事情。
真正难的,是在保证语言对人晦涩的同时,对机器简单易懂。
越是晦涩的语言,在内功上的优势就越大。侠客就是依靠内功在网络之中、在这个世界隐藏自己的。“语言”是他们所有防线的根。他们大脑的语言机能,与自己的内功高度协同。
大脑所熟悉的语言越晦涩,内力就越是无迹可寻。
如若单纯为了内功上的优势,就让计算机的运行效率下降,那就本末倒置了。
lisp就做不到“晦涩”这一点。它太接近数学了,以至于只要知道了它的入门知识,厉害的数学家就能知晓它的用法。
c语言是“具备自然语言特征的高级语言”,它的使用人数实在是太多了,所以这一门语言呈现出一种“野蛮生长”的状况,甚至在很短的时间内出现了“语言的流变”现象——这一点就很接近自然语言的演化了。如果世界上出现两块网络相对封闭的区域,那么c语言甚至有可能演化出“方言”。
向山不管是哪边都很熟悉。
在内功的领域,这就一法通、万法通了。
向山觉得,自己应该还认识那么一个人。这个人或许名声没有那么响亮,但他绝对站在了人类认知的边界上。
他从自己的朋友们身上学到了很多东西——应该是这样。
但仔细想想,这似乎又是反常识的。在向山的印象之中,一个人,最多也就能够在一个领域进行深入的学习,其他部分都只能浅尝辄止。人类的知识,早就扩张到了“个体”无法掌握全貌的状态。
他不应该又懂工程学,又精通编程,数学水平也很高才对。就算他真的和那么厉害的人是好朋友吧,也没道理说他就能够学会这些朋友的长处。
爱因斯坦晚年最好的朋友是最顶级的数学家哥德尔。但这段交情也没有让爱因斯坦的数学水平提升到哥德尔的层次——至少在真正的数学家眼中,阿尔伯特·爱因斯坦先生的数学水平仍旧是“作为物理学家够用了”的层次。
但是……事情就是这么奇怪的发生了。
向山肢解了终端的操作系统。他用自己的编译器替换了原本的编译器。
不管是下里巴人的java、仅仅是根基的c、如古老诗歌一般唯美而孤独的perl、如同现代诗歌一般激情的ruby、易学难精但大成之后近乎神明的python,还是最贴近数学也最贴近造物的lips,甚至是它们的后继者,都不适合用来维系内功的存在。
无他,但因它们都是为了“让别人能够使用”而被创造出来的东西。
这些语言,天生就是为了让人读懂而存在的。
阻止其他人读懂它们的,只有智商。
哪怕c语言已经形成了“方言”,但“方言”对于保密来说,仍旧不够。
对于侠客来说,好的语言,可以为他们隐藏自身意图,也能在防火墙被瓦解、加密被破解、封装被撕开、任督小周天被打断之后,给予最后的反击机会。
而你不能寄希望于你的敌人是个傻子——你得想个办法,让敌人就算足够聪明,但缺了关键信息就短时间内无法用意识触及你程序之内流转不息的代码。
每一个流派的内功,都对应了特殊的编译器,有特殊的语法规范和命名方式。它们所编译的高级语言,与过去的高级语言在设计思路上大相庭径。
这是“为了让人难以理解”而创造出来的语言。
如果说过去的程序员在试图创造一种“最好的语言”,好到所有人都会想要用它,那么侠客们所创造的语言,就是完全相反的,“最差的语言”。
更难能可贵的是,你还得保证机器可以接受这种“差”语言,
而在这一点上,向山有着一种绝对的自信。最开始的时候,他也不知道这种自信来自哪里。
在花了两个小时重写编译器之后,他想起了更多的知识。
他内功的根基,是一种无名的、只在极小圈子里传递的语言。
很少有人知道这个语言,它根本就没有被广泛的流传开。只有很少