內容簡介
軟體乃是人類自以為最有把握,實則最難掌控的技術。本書作者羅森伯格對OSAF主持的Chandler項目進行田野調查,跟蹤經年,試圖藉由Chandler的開發過程揭示軟體開發中的一些根本性大問題。
本書是講一事,也是講百千事;是寫一軟體,也是寫百千軟體;是寫一群人,也是寫百千萬人。任何一個在軟體領域稍有經驗的技術人員看完本書,必掩卷長嘆:做軟體難。
作者簡介
斯科特·羅森伯格,作家,編輯,1981年畢業於哈佛大學,1995年與他人共同創辦了Salon網站,此後擔任其首席技術編輯達數年之久,並負責技術工作。從1986到1995年,一直為San Francisco Examiner寫作,最初寫劇評,後來又寫影評和“數字文化”專欄。所寫的劇評曾於1989年獲George Jean Nathan獎。在進入Examiner之前,一直為Boston Phoenix寫劇評、影評和書評。
圖書目錄
第0章軟體時間
第1章死定了[2003年7月]
第2章Agenda之魂[1968~2001年]
第3章原型與Python[2001~2002年11月]
第4章樂高王國[2002年11月~2003年8月]
第5章管束奇客和狗[2003年4月~8月]
第6章完成設計方案[2003年7月~11月]
第7章細節視圖[2004年1月~5月]
第8章白板上的即時貼[2004年6月~10月]
第9章方法
第10章工程師和藝術家
第11章通往狗食版之路[2004年11月~2005年11月]
尾聲長賭[2005~2029年及以後]
譯後記
附錄A專有名詞對譯表
圖書章節
第0章:軟體時間
那是1975年的冬天。我在終端機房中俯身敲擊一台電傳打字機,每打完一行,那笨重的機頭就會搖頭晃腦猛然撞回最左邊,開始新的一行。我從幾個小時前開始輸入一行行黑代碼,忘記了時間流逝,全然不知已是午夜時分。看門人已經關閉廊燈。我並沒有得到許可在紐約大學物理系大樓中流連忘返、使用向高中學生免費發放的計算機賬號。不過,倒也無人責難。
那時我年方十五,正迷戀於一個叫做Sumer的遊戲,在遊戲中,我管理著新月沃土上一座古代城邦。今天的電腦遊戲玩家也許會嘲笑其稚嫩:它在一捲紙上逐行列印出大寫字母,報告遊戲進程。玩家運籌帷幄,分配食用和留種的穀物,然後程式就會告知城邦每年的發展情況。“漢謨拉比陛下,”程式像一個誠惶誠恐的宰相般報告說,“微臣伏啟聖鑒……”
沒過幾天,我就已經把遊戲玩了個遍。但是,和現在令青少年著迷的大多數遊戲不同,Sumer可以讓玩家打補丁。誰都能夠窺探其內部運行機制:該遊戲只是向計算機發出的一系列簡單指令,這些指令存儲於一卷多行八孔紙帶上。(電傳打字機旁的塑膠盤中堆積的紙帶,幾乎帶來和遊戲一樣多的樂趣。)紙帶像地下出版物一般在朋友間流傳共享。只要花幾個鐘頭學點簡單的Basic語言,改遊戲就會和玩遊戲一樣容易:將紙帶上的指令裝載到計算機,然後開始往程式里加代碼。
Sumer是個空白畫板——歷史只是個輪廓,隨時準備著讓少年的夢想來澆築。我和朋友們掌握了它簡單的構造,開始往裡加東西。讓玩家可以選擇不同的宗教信仰吧!偶爾來一次腺鼠疫,會發生什麼事?蠻族入侵者應該很酷。嘿,搞幾具彈石機如何?
那天晚上,我傾力於改造遊戲中民眾造反模式的設計。Sumer只提供粗糙的起義模式;如果你幹得太差,人民就會起來推翻你。(Sumer的原作者是個樂天派。)我認為,遊戲中的起義模式應該多種多樣,所以就創建了一些子程式補丁——讓Sumer陷入內戰,或是引入一個想要爭取合法地位的反對派政府。
我不在乎乾到多晚。F線捷運整夜運行,可以把我帶回位於皇后區的家。一定得重新設計遊戲中的革命模式!
四分之一世紀後,2000年五月,我坐在舊金山的一間辦公室里,眼睜睜緊盯著一台現代計算機螢幕(高解析度、數百萬種顏色)。喝剩的咖啡紙杯胡亂擺在鍵盤邊上。正是凌晨5點。
那時我四十歲,是線上雜誌Salon的創始人和總編,此外還負責一個軟體開發項目。我們花了幾個月精心規劃,希望給網站增加動態特性,使之徹底改觀。然而,現在我卻眼看著項目瀕臨絕境。
在沒日沒夜苦幹了幾個星期之後,主力程式設計師終於宣告工作完成,自己要飛往夏威夷,度一個全家盼望已久的假期。剩下他的老闆,技術副總裁查德·迪克森(Chad Dickerson),獨自琢磨為什麼存儲網站文章的資料庫就是不肯與負責顯示頁面的程式對接。查德兩個通宵沒合眼,努力修復問題。若是不然,到周一早上,我們的兩百萬讀者就只能看到網站上沒更新過的舊聞了。