維利有幾分倉皇。他看到尤利婭家的那個小鬼真的走遠之后,才跑了起來。
剛才那個小鬼撞到他身上的時候,他真的嚇壞了。他可是盡了最大的努力,才控制住自己的。
“不能這樣下去了……”
維利這么想著,快速奔跑,很快就離開村子邊緣,蹲在大路旁邊。煙塵滾滾而至。維利站了起來,揮動雙手。
汽笛轟鳴。在剎車聲與爆炸般的揚塵之中,一個黑影停在維利面前。隨后是調整攝像頭焦距的聲音。過了半晌,一個粗獷的聲音才說道:“維利?你為什么在這里?”
“以諾……”維利聲音顫抖:“我好害怕啊,以諾。”
維利靠著重型工人們過活,自然知道他們的日常。他知道,以諾這個時候很有可能會路過這條路。
“嘿!你有什么好怕怕的?”以諾毫不在乎。
維利尖叫:“昨天可是你讓我推那這家伙出去的!是你啊!你不能不管我!不然的話……不然的話……”維利說著,發出哭聲:“以諾大哥!我……”
他一開始的時候,確實是想要討好以諾,這才答應他“整一下‘約格’”的。以諾是重型機械里最大方的一個。最重要的是,以諾很懶,經常雇傭其他工人裝卸。只要能和以諾交好,那維利就可以不愁工作了。
但維利是真的沒想到,那個“約格”……不,那個“山”好像真的很厲害。
他居然真的能夠戰勝一個武者!
以諾語氣也有幾分緊張:“他發現你了?不對啊?當時周圍都是我們這邊的人……他們都參與了,不可能去告發我們的。”
“尤利婭家的那個小崽子啊!”維利尖叫。
“尤基?他看到了?”以諾犯了難。他確實覺得尤基這個玩意很煩,如果不是尤基,說不定尤利婭就接受他了——甚至向山都是尤基挖出來的。
“他剛才走在街上,撞了我一下!他撞了我一下!”維利尖叫:“那個小崽子肯定是看到了!不然的話……不然的話……”
“靠,就撞了一下?”以諾啼笑皆非:“就這點小事?”
“什么叫‘小事’?我推了那個怪物一把啊!”維利大喊:“那條狗都輸了,我不可能贏的!”
“那只是運氣好!”以諾惡狠狠的說道:“只是大老爺好心腸而已!呸,什么贏了。他不是還倒在地上說‘我輸了我輸了’什么的嗎?這種懦夫……呸!”
“你不能不管我!”維利尖叫:“我們把那個小孩子騙出來吧!不管是碾碎了還是拆成零件賣了……”
“嘿!你瘋了!”以諾嚇了一跳。他可是真的打算要和尤利婭在一起的。以諾知道自己的性格,他守不住秘密。他要是動了尤基,就沒法和尤利婭在一起了。
以諾本來就被這個家伙糾纏得有點煩了。但他又覺得讓這個家伙就這樣行動,尤基出了事,說不定會牽連到自己。以諾便說道:“多大點事……這樣吧,我今天本來就打算到城里樂一樂。這樣,我請你看點好看的,怎么樣?”
“好看的?”維利有些迷惘:“是什么?競技會?還是新游戲?”
“比那個刺激多了……來來,上車!”
以諾身上沒有駕駛位。他將貨斗略略傾斜,讓維利自己扒上去。
塵土飛揚。
…………………………………………………………………………
“一個真正的程序員,他的編程從裸機開始!”
“一個真正的程序員,不存在面向對象與面向過程之分,也不存在強類型與類型不安全之別,從機器語言到匯編器到編譯器到無數高級應用程序,他無所不通!”
某些回憶閃閃發光。向山已經記不清這是什么人對他說的了。不過,某些“知識”成分的東西卻在提醒他,那個人是歷史上有名的程序員,是曾經決定了歷史面貌的人。
向山和“這個人”有很深的交情,所以他學到了關于編程的“一切”。
這東西的本質是“數學”。
編程,是語言學,也是數學。
或者說,語言學就是一種數學。
二戰結束的前后,數學家們開辟出了一個被稱作“字問題”的全新領域。在這個領域中,一些數學概念被套上“文字”的外衣,用代數結構產生的形式自然的表明著它們自身。數學家們嘗試使用語言學的規則玩弄數學。
1944年,美國邏輯學家,人工智能先驅埃米爾·波斯特就證明了字問題具備不可判定性。
而在1947年,安德烈·馬爾可夫之子,阿納托利·馬爾可夫也不知曉波斯特工作的前提下,做出了一樣的證明。
“語言”之中,存在“不可判定性問題”。這是第一個并非由人類提出、并非出現在計算科學領域的不可判定性問題。
而與此同時,語言學家也沿著相反的方向,抵達了相同的境界。
如果說現代語言學起源自費爾迪南·德·索緒爾,那么諾姆·喬姆斯基就是索緒爾之后的高峰。而喬姆斯基除了作為語言學家、哲學家與社會學家廣為人知之外,他還可以算是一個數學家。
他對語言學的研究,甚至被錄入了數學史之中。
“上下文無關語言的語法”和“正則語言的語法”這兩個由喬姆斯基創造的領域,在計算機科學理論之中,也有相當的地位。
遺傳學家們同樣尊敬喬姆斯基,他們認為,喬姆斯基對語言的研究,或許可以成為破解遺傳密碼的鑰匙——他們可以反推出隱藏在遺傳信息中的、“造物主的語言”。
或者說,遺傳化學所遵循的“程序”。
只要對相關領域的數學有足夠深的研究,那么創造一門獨有的語言,就不是太困難的事情。
真正難的,是在保證語言對人晦澀的同時,對機器簡單易懂。
越是晦澀的語言,在內功上的優勢就越大。俠客就是依靠內功在網絡之中、在這個世界隱藏自己的。“語言”是他們所有防線的根。他們大腦的語言機能,與自己的內功高度協同。
大腦所熟悉的語言越晦澀,內力就越是無跡可尋。
如若單純為了內功上的優勢,就讓計算機的運行效率下降,那就本末倒置了。
Lisp就做不到“晦澀”這一點。它太接近數學了,以至于只要知道了它的入門知識,厲害的數學家就能知曉它的用法。
C語言是“具備自然語言特征的高級語言”,它的使用人數實在是太多了,所以這一門語言呈現出一種“野蠻生長”的狀況,甚至在很短的時間內出現了“語言的流變”現象——這一點就很接近自然語言的演化了。如果世界上出現兩塊網絡相對封閉的區域,那么C語言甚至有可能演化出“方言”。
向山不管是哪邊都很熟悉。
在內功的領域,這就一法通、萬法通了。
向山覺得,自己應該還認識那么一個人。這個人或許名聲沒有那么響亮,但他絕對站在了人類認知的邊界上。
他從自己的朋友們身上學到了很多東西——應該是這樣。
但仔細想想,這似乎又是反常識的。在向山的印象之中,一個人,最多也就能夠在一個領域進行深入的學習,其他部分都只能淺嘗輒止。人類的知識,早就擴張到了“個體”無法掌握全貌的狀態。
他不應該又懂工程學,又精通編程,數學水平也很高才對。就算他真的和那么厲害的人是好朋友吧,也沒道理說他就能夠學會這些朋友的長處。
愛因斯坦晚年最好的朋友是最頂級的數學家哥德爾。但這段交情也沒有讓愛因斯坦的數學水平提升到哥德爾的層次——至少在真正的數學家眼中,阿爾伯特·愛因斯坦先生的數學水平仍舊是“作為物理學家夠用了”的層次。
但是……事情就是這么奇怪的發生了。
向山肢解了終端的操作系統。他用自己的編譯器替換了原本的編譯器。
不管是下里巴人的Java、僅僅是根基的C、如古老詩歌一般唯美而孤獨的Perl、如同現代詩歌一般激情的Ruby、易學難精但大成之后近乎神明的Python,還是最貼近數學也最貼近造物的Lips,甚至是它們的后繼者,都不適合用來維系內功的存在。
無他,但因它們都是為了“讓別人能夠使用”而被創造出來的東西。
這些語言,天生就是為了讓人讀懂而存在的。
阻止其他人讀懂它們的,只有智商。
哪怕C語言已經形成了“方言”,但“方言”對于保密來說,仍舊不夠。
對于俠客來說,好的語言,可以為他們隱藏自身意圖,也能在防火墻被瓦解、加密被破解、封裝被撕開、任督小周天被打斷之后,給予最后的反擊機會。
而你不能寄希望于你的敵人是個傻子——你得想個辦法,讓敵人就算足夠聰明,但缺了關鍵信息就短時間內無法用意識觸及你程序之內流轉不息的代碼。
每一個流派的內功,都對應了特殊的編譯器,有特殊的語法規范和命名方式。它們所編譯的高級語言,與過去的高級語言在設計思路上大相庭徑。
這是“為了讓人難以理解”而創造出來的語言。
如果說過去的程序員在試圖創造一種“最好的語言”,好到所有人都會想要用它,那么俠客們所創造的語言,就是完全相反的,“最差的語言”。
更難能可貴的是,你還得保證機器可以接受這種“差”語言,
而在這一點上,向山有著一種絕對的自信。最開始的時候,他也不知道這種自信來自哪里。
在花了兩個小時重寫編譯器之后,他想起了更多的知識。
他內功的根基,是一種無名的、只在極小圈子里傳遞的語言。
很少有人知道這個語言,它根本就沒有被廣泛的流傳開。只有很少的人見識過它,而能夠學習它、使用它的就更少了。光是學習這一門語言,精力成本就高過學習一門外語。而用這門語言編程,難度更是相當于用一門外語寫出頂尖的詩——這門外語還得和你的母語屬于完全不同的語系。
“話說回來,如果真的有這么難的話……我到底是怎么學會的啊?”向山喃喃自語:“我到底是什么人啊?我怎么這么厲害啊?”
在完成了編譯器的重寫之后,向山仿佛是解鎖了更多的知識。數據飛快的從他直連大腦的芯片中輸出。代碼覆蓋代碼,終端屏幕上出現不規則色塊,然后很快關機重啟。
這并不是從無到有的創作。向山很久以前,似乎也經歷過這個場景,很是類似。
或許因為記憶的殘缺,他不能完全復現那時的技術。但就算這樣,他多半也有了立命的本錢。
這一門無名語言,絕對是世界上最TM難用的語言。
但在俠客的視角上,也是最強的語言之一。