“上下文無關語言的語法”和“正則語言的語法”這兩個由喬姆斯基創造的領域,在計算機科學理論之中,也有相當的地位。
遺傳學家們同樣尊敬喬姆斯基,他們認為,喬姆斯基對語言的研究,或許可以成為破解遺傳密碼的鑰匙——他們可以反推出隱藏在遺傳信息中的、“造物主的語言”。
或者說,遺傳化學所遵循的“程序”。
隻要對相關領域的數學有足夠深的研究,那麼創造一門獨有的語言,就不是太困難的事情。
真正難的,是在保證語言對人晦澀的同時,對機器簡單易懂。
越是晦澀的語言,在內功上的優勢就越大。俠客就是依靠內功在網絡之中、在這個世界隱藏自己的。“語言”是他們所有防線的根。他們大腦的語言機能,與自己的內功高度協同。
大腦所熟悉的語言越晦澀,內力就越是無跡可尋。
如若單純為了內功上的優勢,就讓計算機的運行效率下降,那就本末倒置了。
Lisp就做不到“晦澀”這一點。它太接近數學了,以至於隻要知道了它的入門知識,厲害的數學家就能知曉它的用法。
C語言是“具備自然語言特征的高級語言”,它的使用人數實在是太多了,所以這一門語言呈現出一種“野蠻生長”的狀況,甚至在很短的時間內出現了“語言的流變”現象——這一點就很接近自然語言的演化了。如果世界上出現兩塊網絡相對封閉的區域,那麼C語言甚至有可能演化出“方言”。
向山不管是哪邊都很熟悉。
在內功的領域,這就一法通、萬法通了。
向山覺得,自己應該還認識那麼一個人。這個人或許名聲沒有那麼響亮,但他絕對站在了人類認知的邊界上。
他從自己的朋友們身上學到了很多東西——應該是這樣。
但仔細想想,這似乎又是反常識的。在向山的印象之中,一個人,最多也就能夠在一個領域進行深入的學習,其他部分都隻能淺嘗輒止。人類的知識,早就擴張到了“個體”無法掌握全貌的狀態。
他不應該又懂工程學,又精通編程,數學水平也很高才對。就算他真的和那麼厲害的人是好朋友吧,也沒道理說他就能夠學會這些朋友的長處。
愛因斯坦晚年最好的朋友是最頂級的數學家哥德爾。但這段交情也沒有讓愛因斯坦的數學水平提升到哥德爾的層次——至少在真正的數學家眼中,阿爾伯特·愛因斯坦先生的數學水平仍舊是“作為物理學家夠用了”的層次。
但是……事情就是這麼奇怪的發生了。
向山肢解了終端的操作係統。他用自己的編譯器替換了原本的編譯器。
不管是下裡巴人的Java、僅僅是根基的C、如古老詩歌一般唯美而孤獨的Perl、如同現代詩歌一般激情的Ruby、易學難精但大成之後近乎神明的Python,還是最貼近數學也最貼近造物的Lips,甚至是它們的後繼者,都不適合用來維係內功的存在。
無他,但因它們都是為了“讓彆人能夠使用”而被創造出來的東西。
這些語言,天生就是為了讓人讀懂而存在的。
阻止其他人讀懂它們的,隻有智商。
哪怕C語言已經形成了“方言”,但“方言”對於保密來說,仍舊不夠。
對於俠客來說,好的語言,可以為他們隱藏自身意圖,也能在防火牆被瓦解、加密被破解、封裝被撕開、任督小周天被打斷之後,給予最後的反擊機會。
而你不能寄希望於你的敵人是個傻子——你得想個辦法,讓敵人就算足夠聰明,但缺了關鍵信息就短時間內無法用意識觸及你程序之內流轉不息的代碼。
每一個流派的內功,都對應了特殊的編譯器,有特殊的語法規範和命名方式。它們所編譯的高級語言,與過去的高級語言在設計思路上大相庭徑。
這是“為了讓人難以理解”而創造出來的語言。
如果說過去的程序員在試圖創造一種“最好的語言”,好到所有人都會想要用它,那麼俠客們所創造的語言,就是完全相反的,“最差的語言”。
更難能可貴的是,你還得保證機器可以接受這種“差”語言,
而在這一點上,向山有著一種絕對的自信。最開始的時候,他也不知道這種自信來自哪裡。
在花了兩個小時重寫編譯器之後,他想起了更多的知識。
他內功的根基,是一種無名的、隻在極小圈子裡傳遞的語言。
很少有人知道這個語言,它根本就沒有被廣泛的流傳開。隻有很少的人見識過它,而能夠學習它、使用它的就更少了。光是學習這一門語言,精力成本就高過學習一門外語。而用這門語言編程,難度更是相當於用一門外語寫出頂尖的詩——這門外語還得和你的母語屬於完全不同的語係。
“話說回來,如果真的有這麼難的話……我到底是怎麼學會的啊?”向山喃喃自語:“我到底是什麼人啊?我怎麼這麼厲害啊?”
在完成了編譯器的重寫之後,向山仿佛是解鎖了更多的知識。數據飛快的從他直連大腦的芯片中輸出。代碼覆蓋代碼,終端屏幕上出現不規則色塊,然後很快關機重啟。
這並不是從無到有的創作。向山很久以前,似乎也經曆過這個場景,很是類似。
或許因為記憶的殘缺,他不能完全複現那時的技術。但就算這樣,他多半也有了立命的本錢。
融語言,絕對是世界上最TM難用的語言。
但在俠客的視角上,也是最強的語言之一。,找書加書可加qq群952868558