讀古今文學網 > 虛擬現實:萬象的新開端 > 代碼文化 >

代碼文化

我們的世界並不是為我們創造的。我們仍然非常奇怪。

硅谷裡到處都是精英,但大部分人並不是很有錢,他們給人的印象基本上都是邋裡邋遢、十分壓抑。美國的所有地方都保留了20世紀70年代那種髒兮兮的感覺,硅谷也不例外。就在門羅帕克的北部,沒了綵燈的招牌已經生銹,店裡提供現場色情表演,進退兩難的行人擠在街角。

這就是我們的聚會場所。我們需要保持緊密的聯繫,當時沒有互聯網,但我們需要網絡效應。

我記得在主幹道埃爾卡密諾裡爾上有一個簡陋的廉價酒吧,裡面有一個桌球檯,我認為帕洛阿爾托的黑客就像是一個母球,在把另一個球撞得遠遠的之後,它自己也旋轉著掉進了球袋。我們在新家裡旋轉,而我們的動量被轉移到外面,重組著世界的其他地方。

你日日夜夜地編程,直到大腦吸收了一個大的抽像結構並將之完善。這與今天的程序員體驗不同,因為在那個時候,你是直接用芯片工作,以此得到足夠的性能。這就意味著,你無法借助其他程序員的語言、工具或庫。

一切重要的東西都是新鮮的,都完全是你自己的想法。你是一個抽像的探險家,面對的只有荒蕪。如果你想要一個圓圈出現在屏幕上,你必須想辦法編出圓圈的代碼,以足夠快的速度形成圓圈。我記得有一次,我和最初的麥金塔計算機圖形的編寫者比爾·阿特金森(Bill Atkinson)一起去斯坦福大學見傳奇的算法大師高德納(Don Knuth),向他展示圓圈的新畫法,那就像是去見一個代碼教皇。

將任何事物推到極致狀態後,它都會發生轉變,這個原則同樣適用於計算機。在編程體驗的核心,當你以最高水平寫代碼時,會再次感受到一種不同於代碼世界的神秘感。

當代碼正確時,你的腸道裡就會有一種奇妙的感覺,至少在當時是這樣。這是一種令人難以置信的、幾乎是救世主一般的感覺。我們曾經有點尷尬地討論過這個問題,這是在我們的合理性堡壘下埋藏的神秘主義。

每當我有這種感覺時,手頭存疑的代碼就會被證明是無懈可擊的。這是一個幾近聖潔的奇特時刻,你很難得才會產生這種感覺。

編程的頂峰體驗越來越難以捉摸,因為編程不再是單獨一個人的工作,但凡有點重要的新程序都會由團隊完成。當程序運行時,就會像青苔一樣蔓延在之前已經存在的無數軟件結構上,而這些軟件結構甚至不會在同一台可識別的計算機上運行,而是在世界上未知的互聯計算機之間秘密運行。人們再也不能真正瞭解一個軟件了,人們只能測試它,好像它是一個剛被發現的自然界。我們與舊的直觀世界之間的聯繫已經斷了。

不管怎樣,結束了夜以繼日的專注工作,你常常會穿著衣服睡覺,就像睡在天鵝絨一般的大海裡,然後,你會斗膽去看看別人,但所有人都在做同樣的事。你們相互看起來都像代碼一樣。你口中的世界,就像一個你正在創造的不完整的謎題。

我真希望自己還記得最開始在硅谷認識的所有朋友的名字,不過至少我還記得我們的對話。「我已經保存了關於所有壽司店的數據,這樣,我們就可以選出最好的壽司店。」「我也是。」「你有沒有給你的數據打上時間戳?我們可以用貝葉斯方法進行關聯。」

這種遇見世界的方法仍然是在紙上完成的!我們隨身帶著迷你筆記本和鉛筆。黑客會將他們的筆記本固定在一個仿金屬的殼子裡,有點像之後的便攜式數字設備。我們還有很多漂亮的皮帶固定設備、腕部固定設備和背心固定設備。做完計算後,我們就會吃壽司,再繼續寫代碼。

在花了一整天的時間編程之後,連你的夢裡都全是代碼,整個世界也成了代碼。斯科特·羅森伯格(Scott Rosenberg)寫了一本書,其中有一部分描述了我夢到代碼的體驗,這本書當然就是《夢斷代碼》(Dreaming in Code)。你會突然醒來,意識到你剛才在睡夢中編程,在夢中將你經歷的事情編寫成代碼。這是一個人的心跳循環。

[1] 囚徒困境是最著名的遊戲理論思想實驗之一。它已經被改編為遊戲節目和電影情節。我不在這裡多做解釋,讀者可以自己查一查。從數學的角度來看,這種觀念很有趣,但一想到把它應用到現實生活中,你就會覺得很恐怖,因為現實生活並非這樣被清晰地割裂的。一旦人們在遊戲節目或其他現實生活中應用囚徒困境理論,就會變得對彼此十分殘忍,相互欺騙,我對此感到十分痛心。我懷疑這種邪惡的數學應用是否應該被禁止,因為很多孩子可能會因為糟糕的老師和課本,以這種方式愛上數學。

[2] 數十年後,計算機早就聯網了,之前意為「駭客」的「cracker」一詞作為一個貶義詞再次出現,意思是「窮白人」。在20世紀80年代,幾乎所有的「cracker」都是這個意思。