節標題:網景的野心:客戶端腳本的需求#
1994 年 12 月,網景通訊公司(Netscape Communications)的 Navigator 瀏覽器問世不到三個月,就席捲了整個 Web 世界。這家由吉姆・克拉克(Jim Clark)與馬克・安德森(Marc Andreessen)創立的公司,把伊利諾大學 NCSA 的 Mosaic 團隊整批挖到西岸,以驚人的速度迭代產品。到 1995 年,網景已經是矽谷最耀眼的新星:首次公開發行(IPO)那天,股價從 28 美元飆到 75 美元,公司還沒獲利,市值就突破二十億美元。這是網路泡沫前最戲劇性的造神運動,但也是一場戰爭的開端——因為比爾・蓋茲終於把注意力從作業系統轉向了「網際網路浪潮」。
在這樣的商業處境下,網景必須不斷給予使用者「升級的理由」。瀏覽器大戰開打,差異化功能就是武器。而當時的 Web,老實說,靜態得近乎無聊:一份 HTML 頁面就是一份文件,唯一的互動是超連結;若要有表單、有計算,就得靠伺服器端的 CGI(Common Gateway Interface)腳本——使用者填好表格、按下送出、等待整頁刷新,伺服器才回你一句「你的郵遞區號格式錯了」。
要理解這種痛苦,得回到撥接時代。1995 年多數家庭使用者的連線速度是 28.8kbps 的數據機,每一次表單往返,都意味著撥號、握手、傳輸、伺服器處理、再回傳整頁 HTML。一次無謂的往返可能要數秒到十數秒,而電話線還佔著,家裡別人不能打電話。對電子商務網站來說,這是致命的:使用者填表填錯一個欄位,就得重新經歷一次地獄。工程師們直覺地意識到:有些檢查根本不需要驚動伺服器——檢查郵遞區號是不是數字、電話號碼位數對不對、滑鼠移到按鈕上會不會變色——這些事,應該在使用者的電腦上、在瀏覽器裡就完成。
這就是「客戶端腳本」的需求起源。問題是,用什麼工具來做?
網景內部討論過的方案之一,是與昇陽電腦(Sun Microsystems)合作。1995 年 5 月,Sun 發表了 Java 語言,喊出「一次撰寫、到處執行」的口號,並把目標對準了網路:Java applet 可以嵌入網頁,跑出動畫、互動、甚至小遊戲。安德森看準熱度,在 Sun 正式發表前就公開宣布網景將支援 Java,這是一步精彩的公關棋。但實際用了就會發現:applet 太重了。它要下載整個執行環境、啟動慢、記憶體吃得多,而且它的目標使用者是專業程式員——要寫一個表單驗證,你得懂類別、物件、編譯,這對「寫 HTML 頁面的人」來說是另一個宇宙。
而 Web 的真實生態,正是由大量「HTML 作者」構成的:他們可能是行銷人員、大學教授、學生、業餘愛好者,用記事本寫標籤、FTP 上傳頁面。這群人不需要編譯器,他們需要的是一種膠水:幾行程式碼貼進 HTML,就能讓按鈕變色、讓表單在送出前先自我檢查。這個洞見——腳本語言的受眾不是工程師,而是「頁面的作者」——是網景戰略裡最關鍵、也最容易被後世忽略的判斷。
於是,找人。1995 年 4 月,布蘭登・艾克(Brendan Eich)加入了網景。
艾克的履歷在當時的矽谷並不算顯赫,但在程式語言圈子裡是紮實的正統出身。他在聖塔克拉拉大學(Santa Clara University)讀數學與電腦科學,大學時代就在IBM與SGI實習過;之後在伊利諾大學香檳分校(UIUC)拿到碩士學位,論文做的正是程式語言相關的主題。畢業後他先進入矽谷圖形公司(Silicon Graphics, SGI),做作業系統與網路的底層工作;後來到了一家新創公司 MicroUnity,那裡給了他更貼近語言實作的機會——他曾把GNU C編譯器移植到 MIPS 處理器上,也寫過 Scheme 的編譯器。
Scheme 這件事特別重要。Scheme 是 MIT 語言學派(SICP 傳統)的方言,一種極簡的 Lisp:函式是第一級公民、動態型別、有閉包、可以讓程式碼像資料一樣被操作。艾克在 MicroUnity 寫 Scheme 編譯器的經驗,意味著他不是「會用語言的人」,而是「造語言的人」。他信奉函式式程式設計,私下甚至認為 Java 的類別體系是笨重的。
所以,當艾克在 1995 年 4 月加入網景時,他的原始任務、也是他自己的願望,是:在瀏覽器裡實作 Scheme。一個正統的、優雅的函式式語言,讓瀏覽器變成可程式化的環境。這是語言學家的浪漫。
但網景管理層心裡想的完全是另一回事。公司要的不是學術美感,而是三個月內、趕在 Navigator 2.0 之前,端出一個「HTML 作者也能用的輕量腳本語言」,去對抗微軟、去配合 Java 的行銷攻勢、去給市場一個新的驚喜。理想與現實的碰撞,將在那年五月,以一種史無前例的速度壓在艾克一個人身上。
從更寬的視野看,這一刻是多重力量匯流的產物:經濟上,網景需要差異化來支撐高估值的股票;技術上,伺服器往返成本高到客戶端計算成為顯學;文化上,Web 正從學術界的文件系統變成大眾媒體,頁面作者的數量遠超程式員;政治上,微軟的影子已經逼近,時間是網景最稀缺的資源。客戶端腳本的需求,不是某個天才的靈光一現,而是這整個時代的結構性壓力擠出來的。
而時代擠出來的東西,往往帶著時代的粗糙。艾克將在接下來的那「十天」裡,親手證明這一點。