夢斷代碼

出版時間:2008.06  出版社:電子工業(yè)出版社  作者:Scott Rosenberg  頁數(shù):336  字?jǐn)?shù):274000  譯者:韓磊  
Tag標(biāo)簽:無  

前言

大多數(shù)技術(shù)書籍只是講技術(shù)和理論,但我們不知道在真實的軟件開發(fā)過程中,這些技術(shù)和理論究竟是被什么樣的人如何去使用?《夢斷代碼》向我們展示了硅谷一流軟件開發(fā)者是如何進行產(chǎn)品開發(fā)的,把真實的人、事、技術(shù)以及產(chǎn)品的發(fā)展過程結(jié)合在一起,每個有志于開發(fā)暢銷產(chǎn)品的程序員都值得耐心去品味這個故事。CSDN總裁蔣濤2008年6月

內(nèi)容概要

軟件乃是人類自以為最有把握,實則最難掌控的技術(shù)。本書作者羅森伯格對OSAF主持的Chandler項目進行田野調(diào)查,跟蹤經(jīng)年,試圖借由Chandler的開發(fā)過程揭示軟件開發(fā)中的一些根本性大問題。  本書是講一事,也是講百千事;是寫一軟件,也是寫百千軟件;是寫一群人,也是寫百千萬人。任何一個在軟件領(lǐng)域稍有經(jīng)驗的技術(shù)人員看完本書,必掩卷長嘆:做軟件難。

作者簡介

Scott Rosenberg,作家,編輯,1981年畢業(yè)于哈佛大學(xué),1995年與他人共同創(chuàng)辦了Salon網(wǎng)站,此后擔(dān)任其首席技術(shù)編輯達數(shù)年之久,并負(fù)責(zé)技術(shù)工作。從1986到1995年,一直為San Francisco Examiner寫作,最初寫劇評,后來又寫影評和“數(shù)字文化”專欄。所寫的劇評曾于1989年獲George Jean Nathan獎。在進入Examiner之前,一直為Boston Phoenix寫劇評、影評和書評。個人博客地址為www.wordyard.com。

書籍目錄

第0章 軟件時間第1章 死定了[2003年7月]第2章 Agenda之魂[1968~2001年]第3章 原型與Python[2001~2002年11月]第4章 樂高王國[2002年11月~2003年8月]第5章 管束奇客和狗[2003年4月~8月]第6章 完成設(shè)計方案[2003年7月~11月]第7章 細節(jié)視圖[2004年1月~5月]第8章 白板上的即時貼[2004年6月~10月]第9章 方法第10章 工程師和藝術(shù)家第11章 通往狗食版之路[2004年11月~2005年11月]尾聲 長賭[2005~2029年及以后]譯后記附錄A 專有名詞對譯表

章節(jié)摘錄

第0章 軟件時間那是1975年的冬天。我在終端機房中俯身敲擊一臺電傳打字機,每打完一行,那笨重的機頭就會搖頭晃腦猛然撞回最左邊,開始新的一行。我從幾個小時前開始輸入一行行黑代碼,忘記了時間流逝,全然不知已是午夜時分。看門人已經(jīng)關(guān)閉廊燈。我并沒有得到許可在紐約大學(xué)物理系大樓中流連忘返、使用向高中學(xué)生免費發(fā)放的計算機賬號。不過,倒也無人責(zé)難。那時我年方十五,正迷戀于一個叫做Sumer的游戲,在游戲中,我管理著新月沃土上一座古代城邦。今天的電腦游戲玩家也許會嘲笑其稚嫩:它在一卷紙上逐行打印出大寫字母,報告游戲進程。玩家運籌帷幄,分配食用和留種的谷物,然后程序就會告知城邦每年的發(fā)展情況?!皾h謨拉比陛下,”程序像一個誠惶誠恐的宰相般報告說,“微臣伏啟圣鑒……”沒過幾天,我就已經(jīng)把游戲玩了個遍。但是,和現(xiàn)在令青少年著迷的大多數(shù)游戲不同,Sumer可以讓玩家打補丁。誰都能夠窺探其內(nèi)部運行機制:該游戲只是向計算機發(fā)出的一系列簡單指令,這些指令存儲于一卷多行八孔紙帶上。(電傳打字機旁的塑料盤中堆積的紙帶,幾乎帶來和游戲一樣多的樂趣。)紙帶像地下出版物一般在朋友間流傳共享。只要花幾個鐘頭學(xué)點簡單的Basic語言,改游戲就會和玩游戲一樣容易:將紙帶上的指令裝載到計算機,然后開始往程序里加代碼。Sumer是個空白畫板——歷史只是個輪廓,隨時準(zhǔn)備著讓少年的夢想來澆筑。我和朋友們掌握了它簡單的構(gòu)造,開始往里加?xùn)|西。讓玩家可以選擇不同的宗教信仰吧!偶爾來一次腺鼠疫,會發(fā)生什么事?蠻族入侵者應(yīng)該很酷。嘿,搞幾具彈石機如何?那天晚上,我傾力于改造游戲中民眾造反模式的設(shè)計。Sumer只提供粗糙的起義模式;如果你干得太差,人民就會起來推翻你。(Sumer的原作者是個樂天派。)我認(rèn)為,游戲中的起義模式應(yīng)該多種多樣,所以就創(chuàng)建了一些子程序補丁——讓Sumer陷入內(nèi)戰(zhàn),或是引入一個想要爭取合法地位的反對派政府。我不在乎干到多晚。F線地鐵整夜運行,可以把我?guī)Щ匚挥诨屎髤^(qū)的家。一定得重新設(shè)計游戲中的革命模式!四分之一世紀(jì)后,2000年五月,我坐在舊金山的一間辦公室里,眼睜睜緊盯著一臺現(xiàn)代計算機屏幕(高解析度、數(shù)百萬種顏色)。喝剩的咖啡紙杯胡亂擺在鍵盤邊上。正是凌晨5點。那時我四十歲,是在線雜志Salon的創(chuàng)始人和總編,此外還負(fù)責(zé)一個軟件開發(fā)項目。我們花了幾個月精心規(guī)劃,希望給網(wǎng)站增加動態(tài)特性,使之徹底改觀。然而,現(xiàn)在我卻眼看著項目瀕臨絕境。在沒日沒夜苦干了幾個星期之后,主力程序員終于宣告工作完成,自己要飛往夏威夷,度一個全家盼望已久的假期。剩下他的老板,技術(shù)副總裁查德?迪克森(Chad Dickerson),獨自琢磨為什么存儲網(wǎng)站文章的數(shù)據(jù)庫就是不肯與負(fù)責(zé)顯示頁面的程序?qū)?。查德兩個通宵沒合眼,努力修復(fù)問題。若是不然,到周一早上,我們的兩百萬讀者就只能看到網(wǎng)站上沒更新過的舊聞了。難道我們以前沒做過軟件嗎?做過。是沒有全面測試嗎?顯然不太充分。怎么會搞得一塌糊涂?鬼曉得。我吃完了自動售貨機里最后一袋餅干,徘徊又等待,卻仍是毫無指望。時間還多。還有時間去讀那位以新項目的名義準(zhǔn)備香檳加蛋糕聚會的倒霉同事的郵件,回復(fù)他說:“或者咱們再等等吧?!边€有時間去體會身陷困境孤立無援的感受,然后琢磨將系統(tǒng)的中心服務(wù)器命名為“卡夫卡”是不是個好主意。大約早晨9點,我們終于發(fā)布了站點“改進版”的第一個版本。又是周一清晨,其他同事相繼出現(xiàn)在辦公室,他們過了好一會兒才知道,原來我們六個人昨夜壓根兒就沒回家睡覺。又過了幾星期,程序員們修復(fù)了最嚴(yán)重的問題,軟件運行趨于平穩(wěn)。但后來每每聽說某公司打算“升級其軟件平臺”、重新搭建一套大型系統(tǒng)時,我總不免暗自擔(dān)心。20世紀(jì)90年代科技行業(yè)的興盛,給我們帶來了“互聯(lián)網(wǎng)時間”的概念。對該短語含義的理解見仁見智,但多指“快速”之意。數(shù)字時代的新時間機制下,一切皆有可能發(fā)生——技術(shù)產(chǎn)生、公司創(chuàng)立、創(chuàng)造財富——而且速度驚人。這意味著你沒時間做到盡善盡美——無須擔(dān)心,因為別人也一樣。隨著投資潮退,“互聯(lián)網(wǎng)時間”這個短語也風(fēng)頭盡失,很快被其他時髦詞所代替。但新詞掮客們的確一語中的。在做軟件的過程當(dāng)中,時間似乎確實時快時慢。如果一切順利,你會沉浸在心理學(xué)家稱之為“流逝”的狀態(tài)中,全然忘記了時間。如果事有不諧,你又會陷入困境,四顧茫然、舉步維艱。無論是哪種情況,時鐘都被拋諸腦后。你用的是軟件時間。在使用一門新編程語言時,程序員的第一個程序通常是“Hello World”——輸入一系列代碼,召喚計算機,命令它打印出這兩個詞,向主人致敬。在Sumer游戲所用的Basic語言中,這個程序像這樣:10 PRINT “HELLO WORLD!”20 STOP“Hello World”程序一無所用,但足可蠱惑人心;它鼓勵新手,喚起每個程序員心中樂觀的一面?!凹热荒芙兴f話,就能讓它做任何事!”計算機協(xié)會(The Association for Computing Machinery),計算機領(lǐng)域中的ABA或AMA,維護了一張網(wǎng)頁,上面列出將近兩百種編程語言版本的“Hello World”程序。簡直就是程序代碼的羅塞塔石碑。在Java這種商業(yè)世界中流行的重量級編程語言里面,“Hello World”看起來高不可攀:class HelloWorld {public static void main (String args[]){System.out.println(”Hello World!”);}}Public static void:無數(shù)個Java程序代碼塊中,都有這串密語存在。這串詞有特別的技術(shù)含義。不過我常常把它看作一闕機器詩篇,在它召喚出的冷宮里面,多少軟件項目一開始雄心勃勃,最終卻未結(jié)善果。如果你和計算機編程打過交道,就很難不對它又愛又恨。作為少年游戲玩家,我品味過編寫代碼的巨大快樂。作為媒體工作者,我見證了軟件世界中無數(shù)個悲慘故事——無論是跨國公司、政府機構(gòu),還是軍工大鱷,都曾一頭撞上過代碼的冰山。而作為一個經(jīng)理人,我也得對付自己桌面上的泰坦尼克號。這25年令人氣餒的軟件歷史,也許不具代表性,但卻是我的個人經(jīng)驗。依照硅谷的數(shù)字烏托邦理想,事情理應(yīng)朝好的方向發(fā)展。在Salon網(wǎng)站發(fā)布失敗后的幾個月里,理想與現(xiàn)實之間的差異開始對我露出了利齒獠牙。編程已不再處于萌芽期。我們的世界依賴于無窮復(fù)雜的軟件。在長達半個世紀(jì)的研究和實踐之后,為什么還是很難做到按時限、按預(yù)算做出計算機軟件?為什么還是很難讓軟件可靠而安全?為什么還是很難把軟件做得易于學(xué)習(xí)使用,且具備按需修改的靈活性?這只跟時間和經(jīng)驗有關(guān)嗎?是否有出現(xiàn)某種根本性突破的可能?在軟件的本質(zhì)特性(抽象性、復(fù)雜性及延展性)上,是否存在某種總能擊倒我們的無常之物,將開發(fā)者咒入充滿不可挽回的延誤和根深蒂固的缺陷的世界?“軟件難做,”編程界經(jīng)典教科書的作者高德納(Donald Knuth)這樣寫道。但原因何在?你可能已經(jīng)注意到,我把本章標(biāo)為“第0章”。我無意搞笑,只是想指出計算機程序員和其他人的一處小小不同:程序員從0開始計數(shù),而不是從1開始。要解釋這種習(xí)慣的來源,得從計算機中央處理單元里的寄存器,以及數(shù)據(jù)隊列的結(jié)構(gòu)等等奧義秘辛說起。不過,我發(fā)現(xiàn)最直截了當(dāng)?shù)慕忉寔碜杂谝粋€網(wǎng)頁,該網(wǎng)頁試圖向大眾解釋黑客的行為——“黑客”一詞的本義是“癡迷的編程匠人”,而非后來衍化出的貶義“數(shù)碼入侵藝術(shù)家”。為什么程序員要從0開始計數(shù)?因為計算機從0開始計數(shù)!所以,程序員也訓(xùn)練自己這樣計數(shù),以免讓他們要指示操作的計算機產(chǎn)生誤解。這本也無傷大雅,只是使用計算機的大多數(shù)人是從1開始計數(shù),未免令人煩惱。往下到系統(tǒng)層面,在這個層面上,數(shù)據(jù)被存儲和操作——意味著我們的金錢、工作和設(shè)想被轉(zhuǎn)換為機器可讀的符號——計算機程序及編程語言經(jīng)常會做小小的偏移操作,即“+1”或“-1”,使得計算機從0開始計數(shù)的列表與人類從1開始計數(shù)的列表保持同步。在計算機的二進制數(shù)字世界里,所有的信息都被簡化為0和1的序列。但是,在0和1 之間有空間存在,在機器計數(shù)和思考的方式和人類計數(shù)和思考的方式之間也有空間存在。當(dāng)你尋找軟件缺陷、延誤和不按設(shè)計思路運行的原因時,那原因就藏身于這空間之中。在構(gòu)思本書的那段時間里,我每天要駕車從舊金山海灣大橋(Bay Bridge)上通過。一天早晨,當(dāng)我的車努力爬上連接奧克蘭(Oakland)岸邊和橋東段中心較高地帶的長長引橋時,我發(fā)現(xiàn),右邊有個新物體擋住了海灣碧水和遠山綠樹:那是一臺高聳的紅色起重機的頂端,正好超出橋面。它在那兒日復(fù)一日地矗立著,突然有一天,又多了12臺起重機,在橋北一線齊齊排列,如同擠在食槽旁的機械怪獸,等著倒霉的上班人士送進嘴來。這工程是要替換雙層大橋的北半部分。在1989年的Loma Prieta大地震發(fā)生時,該部分上層一段五十英尺長的橋面坍塌到下層的車行道上?,F(xiàn)在,將在舊橋旁邊搭建一座更安全、更現(xiàn)代的新橋。隨后幾個月,這些240英尺高的起重機,開始將一根根直徑達8英尺、長達300英尺的銹鋼管打進海灣水底。在清晨時分,從我遠在伯克利(Berkeley)山的家中都可以聽到敲擊聲。總共將會有160根這種大管子被打入海底,填上混凝土,支撐新橋的水上部分。整個過程設(shè)計精密、執(zhí)行無誤;它分毫不差,完全滿足了我們對工程一詞的信心。關(guān)于軟件缺陷的話題,只要談上幾分鐘,必會有人拍案嘆道,“為什么就是不能像造橋那樣造軟件?”和摩天大樓、水壩等永久性建筑一樣,橋梁體現(xiàn)了人類對物理世界的技術(shù)把握。在過去半個世紀(jì)里,軟件成為構(gòu)建這個世界的雖不可見但卻深入滲透的人造物?!叭祟愇拿鬟\行于軟件之上,”廣為應(yīng)用的計算機語言C++發(fā)明人比昂納?斯卓思柯普(Bjarne Stroustrup)這樣說道。初聽起來,這像是奇談怪論或是自賣自夸。即便沒有Microsoft Windows,人類文明也會同樣延續(xù),對吧?然而,軟件并不只是用來發(fā)電子郵件或?qū)憟蟾娴某绦蚰敲春唵?;它已?jīng)不聲不響地滲透到生活的每個角落。它存在于廚具里、汽車中、玩具里,建筑中。商業(yè)和銀行、選舉和新聞媒體、電影和交通網(wǎng)、醫(yī)療和國防、科研和基礎(chǔ)公共服務(wù)——人類生存之所需都系于計算機代碼這根易斷的細線上。而且我們要為其脆弱埋單。根據(jù)國家標(biāo)準(zhǔn)和技術(shù)學(xué)會(National Institute of Standards and Technology )2002年的研究,軟件錯誤每年造成美國595億美元的經(jīng)濟損失,三分之二的項目明顯延誤或超出預(yù)算,甚至干脆無疾而終。人類文明運行于軟件之上。但是,軟件創(chuàng)建藝術(shù)卻隱于暗處,即便對于專家們也是如此。在歷史上,我們從未如此地完全依賴于這樣一種人類自己不知道怎么才做得好的產(chǎn)品。在對軟件系統(tǒng)的加速依賴和踱著方步學(xué)習(xí)怎么做好軟件之間,有一條巨大且有時叫人恐懼的壕溝。對軟件的依賴以指數(shù)級增長,而做軟件的技能——和應(yīng)用技能的愿望——卻進展緩慢。你要和程序員說這些,就等著挨批吧。這邊廂,有人也許會說,世界從未如此光明:我們擁有了比以往更好的工具、更好的測試、更好的語言,還有更好的方法!那邊廂,你又聽人家說,自計算機時代的黎明以來,其實并未取得多少進展。計算機先驅(qū)莫瑞斯?威爾克斯(Maurice Wilkes)[7]回憶起1949年他在英國劍橋工作的情形,在拖著打孔紙帶上樓給雛形計算機EDASC裝載程序時,他看到了未來:“我強烈地意識到,生命中剩下的好日子,都將耗費在給自己的程序找錯誤上頭。”從威爾克斯的時代直到現(xiàn)在,盡管有那許多創(chuàng)新,程序員卻一直陷于調(diào)試除錯之苦境。工作中只有百分之一的靈感迸發(fā),剩下的是艱難尋找、汗?jié)裰匾拢凰麄兊淖髌酚肋h尚未完成或未臻至善,區(qū)別僅僅是“問題更少”的程度不同罷了。軟件就是麻煩一堆。而且我們不能夠也不愿意把電腦一關(guān)走為上計。給我們帶來挫敗和束縛的軟件,也用更多功能、更快更好的工作與生活方式來引誘我們。無路可回。我們對軟件的需要,遠甚于對它的仇恨。所以我們夢想著得到更新更好的東西。在現(xiàn)代軟件研究領(lǐng)域多有建樹的專家弗里德里克?布魯克斯(Frederick Brooks)在1987年寫了一篇題為《沒有銀彈(No Silver Bullet)》的著名論文。布魯克斯在論文中稱,無論編寫計算機程序是如何地令我們倍感挫敗,也永遠無法找到一種魔法般的突破——我們只能期待漸次前行。布魯克斯的觀點難以辯駁,但也難以接受;參加計算機業(yè)界會議或是瀏覽程序員網(wǎng)站時,你總會遇到一些堅稱其錯的人。有些人夢想炸毀今天的整座軟件大廈,替以某種全新之物。有些人則只一味盼望找到不太頑固、更能響應(yīng)人類愿望和行為流程的程序員,盼望能得到召之即來、揮之即去的軟件,盼望得到足堪依賴的代碼。夢之所寄,行之所為——地獄之門就此洞開。第1章 死定了[2003年7月]邁克爾?托伊(Michael Toy)雙手托腮,將下巴埋入手腕之間,瞥向他的PowerBook電腦,嘴里嘟嘟噥噥:“約翰死定了。在下個版本出來前,他得連干五百個鐘頭……凱蒂死定了。她得干到天荒地老。布萊恩越發(fā)要完蛋。而且他只有一半時間了。至于安迪嘛,只有安迪沒事。他的工作列表上可沒有成百上千的任務(wù)?!逼鋵嵥麄兛雌饋磉€好。這是一個夏日,程序員們圍坐在加州貝爾蒙特(Belmont)的一張普通會議桌旁,傾聽著經(jīng)理的發(fā)言。托伊是位高個子男士,有著一副鐵石心腸和一條馬尾辮,不過看起來他正陷入沮喪之中,歷數(shù)程序員們是多么地落后于進度。這是2003年7月17日,他感到自己也死定了,只有不到兩個月的時間,不可能在下一版本預(yù)定完成時間到達之前搞掂一切?!罢l的工作列表不夠時間完成,就和我一起重新過一下列表?!?/pre>

媒體關(guān)注與評論

  “每個有志于開發(fā)暢銷產(chǎn)品的程序員都值得耐心去品味這個故事。”  —— CSDN總裁 蔣濤  “《夢斷代碼》是一本代碼史?!薄  ?DoNews制作人,千橡集團副總裁 劉韌  “《夢斷代碼》乃承Tracy Kidder《新機器靈魂》血脈之初見者,融技術(shù)眼界與敘事功夫于一爐,實多年未見之奇書。讀畢,當(dāng)可了解軟件術(shù)士輩之所為。”  —— 詹姆士·菲羅斯(James Fallows),《大西洋月刊》  “技術(shù)人員愛把復(fù)雜的問題形容為非凡。司各特·羅森伯格選取了極度非凡的主題,并使之淺顯易懂。他盛贊寫代碼的人,但也坦承他們?nèi)绯H税銖?fù)雜而有缺陷。《夢斷代碼》實在是一流的報道和著作。”  —— 丹·基爾默(Dan Gillmor),公民媒體中心主席及《自媒體(We the Media)》作者  “《夢斷代碼》探索了編程如何鼓舞和破壞人類對新工具的創(chuàng)造,既令人迷醉,又教人冷靜。本書文筆優(yōu)美,專為對創(chuàng)造與革新之根源感興趣者——無論是開發(fā)者還是其他人——所寫?!薄  ?史蒂芬·強森(Steven Johnson),《開機(Everything Bad Is Good for You)》及《幽靈地圖(the Ghost Map)》作者  “司各特·羅森伯格放膽踏入非程序員未敢涉足之地:那人類想象苦苦變身為代碼的旋風(fēng)中央。在《夢斷代碼中》,他華麗地將一家初創(chuàng)軟件公司的故事與我們理順編程過程的(無窮盡)努力結(jié)合起來講述?!薄  ?艾倫·烏曼(Ellen Ullman),《走近機器(Close to the Machine)》作者

編輯推薦

當(dāng)一本書與墓志銘聯(lián)系在一起的時候,你可以想象得到《夢斷代碼》的奇異詭秘。當(dāng)一本書從翻譯到即將出版,期間就已備受無數(shù)人的關(guān)注和期待,你應(yīng)該可以感受得到《夢斷代碼》的震撼與強勁。而當(dāng)你有機會能夠閱讀這本書的部分章節(jié)時,你會在手不釋卷之余長嘆:的確是IT書叢中難得一遇的奇書妙談??!秹魯啻a》之奇首先于它的原作者Scott Rosenberg,1981年從哈佛大學(xué)畢業(yè),1995年和人共同創(chuàng)辦了Salon網(wǎng)站,此后擔(dān)任其首席技術(shù)編輯達數(shù)年之久,還負(fù)責(zé)技術(shù)工作。 2003年,開始寫一本有關(guān)軟件開發(fā)及其問題的書。為了寫這本書,他2005年離開了Salon,對OSAF的Chandler項目進行田野調(diào)查,跟蹤經(jīng)年,試圖借由Chandler的開發(fā)過程揭示軟件開發(fā)中的一些根本性大問題。這一系列工作的成果就是這本《夢斷代碼(Dreaming in Code)》。書中極盡引經(jīng)據(jù)典、推敲字句之能事,夾敘夾議,奇聞軼事和以精論妙談,300來頁一本書,觸及軟件開發(fā)中多個根本大題目,叫人看得心驚肉跳!而它的譯者韓磊先生同樣也是一位中國網(wǎng)絡(luò)媒體的奇人,“云南昭通人氏。廣州呆十年,北京飄三載。學(xué)越南語,犯校對病,玩計算機,搞互聯(lián)網(wǎng),好長短句,嗜攝影術(shù)。年過卅載有多,體重百斤不足?!绷攘葦?shù)語的自我勾勒,奇人氣息撲面而來。據(jù)博文視點總經(jīng)理郭立說:“韓磊希望把翻譯費全部換成圖書,贈送給國內(nèi)的CTO層面的人物?!逼嫒俗銎媸滤坪醪蛔銥槠媪耍鳛镮T媒體人,韓磊應(yīng)該更多的是期待這本書能給中國IT界的人士帶來些什么吧。奇人著、譯奇書,都是源于對開源奇夢的追求和熱愛,“這里躺著一個野心勃勃的開源項目。它曾立志超越Outlook,最后卻無疾而終。慷慨的Mitch Kapor帶給它生命,又把命脈從它身上取走。許多程序員以心血養(yǎng)育它,惜乎全不見成效。它是溫室中的花兒,有過絢爛的夢想,還未綻放即已枯萎。那軟件的花園中,還有多少會漸次凋零呢?” 《Dreaming in Code》在“敘”的部分就是寫這個項目的?!秹魯啻a》的副標(biāo)題很長,也很吸引人:Two dozen programmers, three years, 4,732 bugs, and one quest for transcendent software(兩打程序員,三年,4,732個缺陷,只為打造卓越軟件)。Mitch Kapor和他的程序員們曾經(jīng)打造過最偉大的軟件,現(xiàn)在他們有了近乎奢侈的資源,為了“用代碼改變世界”的夢想,共襄盛舉??上麄冇龅搅恕败浖r間”的黑洞,從2001年開始,泥足深陷、舉步維艱。Scott Rosenberg從項目一開始就貼身跟蹤,記錄下Chandler項目開發(fā)過程中的點點滴滴。如果《夢斷代碼》僅及于此,就不過是一篇尚可一觀的“報告文學(xué)”。幸好Scott Rosenberg的主要目標(biāo)是揭示軟件開發(fā)中的普遍問題:為什么做軟件這么難。在描寫Chandler項目進展的段落之間,溫伯格、布魯克斯等大師級研究者,Linus Torvalds和Joel等實踐者紛紛“出來”現(xiàn)身說法,還有來自各機構(gòu)、媒體、作者的大量資料,從“軟件時間”入手,兼及各種方法論、積木式編程、軟件設(shè)計、項目管理,所有這些都是最后一個大話題的鋪墊。在《結(jié)語》部分,Scott Rosenberg提出了這個大話題:人工智能有沒有可能超越人類?在這個問題上,Mitch Kapor打了個20,000美金的大賭。他打賭,到2029年為止,都不可能造出能通過圖靈測試的機器。博文視點正是感應(yīng)到了這本奇書的奇特魅力,特將它作為“博文五年,以書為證”的特別獻禮,隆重呈獻于讀者面前,呈獻的更是一道絢麗多姿的風(fēng)景線,期待讀者將書中還未綻放即已枯萎的絢爛夢想或野心勃勃卻無疾而終的開源項目與自己在中國IT領(lǐng)域多年打拼的經(jīng)驗很好的融合,得到一些經(jīng)驗和啟迪。畢竟人人都是“我有一個夢”,程序員的夢想則更多綺麗和追求,雖歷經(jīng)磨難,但仍奮力創(chuàng)造,這正是《夢斷代碼》的意義所在,也何嘗不是人生的意義所在呢?

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    夢斷代碼 PDF格式下載


用戶評論 (總計14條)

 
 

  •   講了一個項目失敗的故事,中間穿插了很多的軟件/語言/人的軼事.對我來說, 更像是一本IT人的消遣讀物, 相比起它的價格, 和預(yù)期偏差不小.
  •   敘事凌亂,人物繁多,講話啰嗦。 翻譯的不夠通暢,有時候一句話要看兩遍。 書沒能一口去讀下去,買了看了幾章后隔了一年重新硬著頭皮讀完。 翻譯最大的問題就是短期內(nèi)這么多人名出現(xiàn)的記敘文把人名翻譯成了中文, 中文翻譯后的人名看上去都差不多陌生有時候要翻前文才能回顧誰是誰, 嚴(yán)重加大了閱讀故事的難度(尤其是在這樣一本短時間內(nèi)出現(xiàn)大量人物名的記敘文中)。
  •   兩年前看完的,一直沒來評論,不錯的書。
  •   挺好的,還沒看完呢。。
  •   很優(yōu)秀的項目管理的書,推薦
  •   好,很好,太好了,如果能有快遞就更好了
  •   書很好,內(nèi)容很寫實。就是紙有點兒味道,開始不太習(xí)慣的說。
  •   封面設(shè)計好看,算是精品書,但也沒有想象中那么好,對不起《夢斷代碼》那么好的書名,定價也太高了,打折之后36元還是太貴了,20元才合理
  •   個人比叫喜歡這類描述軟件開發(fā)歷程以及作者感想的書,尤其是同類的 just for fun 看了很多遍也不厭煩。從 chandler 這個軟件知道的本書,不過不是很喜歡這軟件,py寫的,太慢了
  •   寫的是外國的一些失敗的教訓(xùn),看的有些吃力,感覺一般。
  •   這不是一本軟件工程理論的書。這本書講的是一個軟件項目失敗的故事,這個項目的團隊都是軟件行當(dāng)?shù)囊恍┡H?,但還是失敗了,看完以后給我們很多關(guān)于設(shè)計與開發(fā)的啟示。
  •   做軟件難,本書醍醐灌頂,也準(zhǔn)確的標(biāo)的了軟件行業(yè)的復(fù)雜程度
  •   買了瞄了幾眼之后一直沒看,可能不太適合這種風(fēng)格的書,不作為大家的參考哈!
  •   我之所以給這個本書打喜歡,是因為我喜歡原著!我買的是08年第二次印刷的!暫不論這本書的好壞!我只說說譯者韓磊,我也不管你啥頭銜啥名氣!我也不管你是臺灣、香港、澳門還是內(nèi)陸!... 閱讀更多
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7