重溫微軟一代經典操作系統的誕生:200位程序員的苦難與歡愉造就了Windows NT

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"重溫經典。本文回顧了微軟首個服務器操作系統 — Windows NT誕生背後的故事。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當時,200多位開發者在大師的帶領下對抗疲勞和恐懼,努力打造偉大的創舉—並祈禱避開不可修復的錯誤。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"華盛頓州雷德蒙德市,1993年5月26日"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"David Cutler穿着白色銳步鞋、白褲子和印有“Over the Line”字樣的T恤,衝進微軟公司構建實驗室(Build Lab)的大門。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Cutler先生是一個矮胖、禿頂的男人,性格與傳奇的亞哈和布萊船長有一些相似之處。**他正在檢查爲桌面計算機設計的,有史以來最大、最複雜也可能是最重要的程序的進度。**但他的臉上沒有一絲喜悅。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"現在是5月3日星期一早上10點20分,"},{"type":"text","marks":[{"type":"strong"}],"text":"這個名爲Windows NT的程序的每日“構建”還沒有完成"},{"type":"text","text":"。作爲NT團隊的負責人,Cutler先生堅持要求每天早上在機器上拼出一個新的NT構建,或者說測試版本,這樣他的程序員就可以“享用自己做出來的東西”了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Cutler先生的怒火來自於進度的拖延,來自於前一天那個糟糕的測試,來自於整個世界。他對着一個屏幕盯了一會兒就衝出了實驗室,身後是一片蕭殺的氣氛。Kyle Shannon和Arden White兩位構建員拿出一大瓶抗胃酸藥,一人吞了一片。剛過早晨,這一天已經毀掉了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"幾分鐘後,Cutler先生回到構建實驗室,臉色看起來更加沮喪。“你們搞不定這該死的東西,整個上午就白費,”他厲聲呵斥。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這位NT項目負責人不喜歡壓制情緒。“要解除壓力,你就得把它釋放出來,”他說。他也的確是這麼做的。Shannon先生指向門旁牆上畫的一個圓圈——就在那裏,Cutler先生曾猛一腳踢穿牆壁並弄傷了自己的腳趾。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"幾個月前他50歲生日的時候,Cutler先生的團隊送給他一塊裱裝起來的辦公室牆壁,結果有一次他因爲新版本無法在他的計算機上運行而怒火中燒,毀掉了那件禮物。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"紅色代碼"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Cutler先生的急躁算不上紳士風度,但也可以理解。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於他和大約200名將NT帶入自己生活的開發和測試人員來說,唯一重要的事情就是時間。這款產品的進度晚了六個月,而週一它已經正式發佈了,"},{"type":"text","marks":[{"type":"strong"}],"text":"微軟計劃在60天內開始向客戶發放數十萬份副本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"未能在截止日期前完成—或者發佈一個漏洞百出的NT—會讓一款被許多人認爲是有史以來最雄心勃勃的計算機程序聲名掃地。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"NT由驚人的430萬行代碼組成,開發成本超過1.5億美元,目標是爲微軟及其盟友征服全新的世界。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"NT的支持者不僅希望這款程序可以用在速度更快的個人計算機上,還希望它能夠助力新型PC網絡從此崛起,從而取代成本高昂的大型機和小型機。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Digital Equipment Corp.(DEC)的目標是藉助NT成爲領先的PC製造商,Compaq Computer Corp.(惠普)則劍指工作站製造商,而美國電話電報公司的NCR希望成爲大型機的廉價替代品製造商。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"微軟的首席執行官威廉·蓋茨三世對NT寄予厚望,"},{"type":"text","marks":[{"type":"strong"}],"text":"期盼它能一舉擊敗另一家非常成功的軟件先驅Novell Inc.的網絡程序,打破後者的壟斷地位。"},{"type":"text","text":" NT還能爲英特爾公司鞏固PC微處理器市場近乎壟斷的優勢地位。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"衆多企業在NT上壓下了巨大的賭注。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但NT的開發過程也證明,在技術高度複雜的時代,創新通常需要頑強的系統構建和團結大型團隊的能力,同時允許甚至是培養衝突。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"衝突是創新的核心,“因爲解決問題的方法並不總是唯一的,”IBM公司前首席科學家Emanuel R. Piore說。”沒有衝突的實驗室不是好的實驗室。”"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"代碼之王"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"NT的故事開始於1980年代後期,當時微軟開發出的基礎操作系統(名爲DOS)已經開始主導個人計算市場。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"操作系統(OS)控制計算機的基本功能,並提供獨特的個性和能力。DOS的成功讓蓋茨先生走上了成爲美國首富的道路。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"但他和他的助手們夢想做出一種更先進的操作系統,從某種意義上說,這種系統可能在未來多年成爲個人計算的通行標準。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它的運行速度會大幅提升,一次處理32位信息,遠超DOS的16位,從而爲大幅增強的圖形界面提供基礎。它將包含非凡的安全特性,這對企業客戶尤其重要。它仍然能夠運行爲DOS編寫的成千上萬個應用程序(例如Lotus 1-2-3)。它可以同時執行多項任務,並且可以將許多不同類型的計算機和數百種不同類型的打印機和其他設備連接到一個單一、無縫的指揮系統中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"他們設想的系統也將是“可移植的”,也就是說能夠運行在各種類別的微處理器上,讓NT​​能夠兼容諸如工作站、連接網絡和其他中型計算機的“服務器”等各種環境。儘管它的複雜性是無可避免的,但系統依舊要非常可靠。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"實際上,這樣的東西當時已經存在於世了:那是一種稱爲Unix的高端、複雜、昂貴的系統,主要由科學家和工程師使用。在一位核心助手Nathan Myhrvold的敦促下,蓋茨先生打算將Unix擁有的大部分特性帶給PC大衆。1988年,他找到了可以完成這一任務的“天選之人”,Cutler先生。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Cutler先生是DEC的一位傑出人物,曾領導編寫VMS的程序員團隊。那款操作系統能將多種計算機連接在一起,並推動了DEC在1970年代後期的發展。這是DEC的主要競爭對手IBM從未實現過的壯舉,讓DEC在IBM的商用計算機市場蛋糕上切下了一大塊份額。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但在DEC取得了更大的成功之後,這家公司終止了Cutler先生的下一個重大項目,於是他在1988年辭職了。蓋茨先生打電話給他時,他正在準備創辦自己的公司。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"蓋茨先生認爲Cutler先生可能擁有創建“超級”操作系統的理想技能。這位微軟負責人會見了Cutler先生,結果對他的專業知識留下了深刻印象,並被他狂野的個性打動了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“比起魅力,他更出名的是他的代碼,”蓋茨先生說。這正是注重實際的蓋茨先生想要的。碰巧的是,Cutler先生的風格與微軟以對抗爲生的企業文化一拍即合。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於Cutler先生來說,憤怒和激情是相伴而生的。他很容易生氣,喜歡用“我要剝掉你的皮”之類的表情來威脅同事。但他努力完成工作的熱情感染了同事,而他頻繁的發難則起到了在大項目中經常缺失的重要作用:清晰無誤的即時反饋。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"沒有人懷疑他是一個天才的程序員,這是一件很奇怪的事情。程序員說,編寫代碼完全不是什麼按部就班的練習,而更像是在打棒球。同樣聰明的兩個人可以坐下來試一試編程;也許一個會成功,另一個卻以失敗告終,而原因就像藝術一樣神祕莫測。一些最優秀的程序員甚至從未上過大學。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Cutler先生抵達後不久,於1988年11月在蓋茨先生的專屬年度靜修會(retreat)上展示了他對NT的願景。Cutler先生暢談至深夜,“我們敬畏地坐着,傾聽他的一言一辭”,系統營銷副總裁Jonathan Lazarus回憶道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"與此同時,Cutler先生是那種能帶着他的團隊在泥濘中艱難跋涉的領導者。“大家知道Cutler先生的情緒爆發並不是衝着個人來的,”他的首席構建員Mitchell Duncan說。“他攻擊的不是你這個人。Dave早上6點就來了。他每個週末都在公司。他一直呆在戰壕裏。”"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"創新張力"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"與他肩並肩守在戰壕裏的是各個部門的工程師,他們經常在尋找編程問題的答案時大聲吵嚷,互相競爭。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"程序代碼每增加一行,這些問題就變得更復雜一些(NT程序代碼最後寫滿了100,000頁單行距A4紙)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"環顧四周,首先映入眼簾的是開發人員,也叫“代碼騎手”—這批人主要是男性,通常信心十足—他們負責編寫基本指令。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下來是測試人員,他們負責設法讓這些指令失敗。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"然後是產品經理,他們負責思考NT應該實現哪些功能。最後還有構建員,他們負責將程序整合在一起。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"開始NT的開發工作時,Cutler先生將團隊分爲三大單元:一個單元創建監控和運行程序的基本語言;一個單元打造系統的聯網能力;還有一個負責用戶實際看到的所有特性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"每個單元又被分成5到10個小組,每個小組只有三四個人。“越小越好,”Cutler先生說,他希望下放責任、取消主管並避免經常與大型項目伴生滋長的官僚主義。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"組織結構到位後,他開始組裝一個可以在不同微處理器上運行的操作系統原型。Cutler先生在"},{"type":"text","marks":[{"type":"strong"}],"text":"1990年1月做出的​​一項重要早期決定,是讓NT兼容由新興的Mips計算機系統公司製造的功能強大的新芯片,與英特爾的386及後繼芯片。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此舉可能會威脅到微軟強大的長期合作伙伴英特爾的利潤,因爲這一規模龐大的PC軟件將來能夠在英特爾競爭對手的芯片上運行了。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"終於自由了"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"NT項目很快就向蓋茨先生提出了一個巨大的政治問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"他之前與IBM達成了一項協議,根據該協議,兩家公司將共同開發另一種操作系統,該系統將提供一些高級特性,同時仍運行DOS—它被稱爲OS\/2。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了安撫IBM,Cutler先生需要讓NT運行爲OS\/2編寫的應用程序。蓋茨先生堅持保留這種兼容性,因爲它對IBM很重要—但這只是沒什麼吸引力的妥協。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"NT團隊將OS\/2視爲“一袋垃圾”,Steven Wood(第一位加入NT項目的微軟程序員)說。然而事實證明,"},{"type":"text","marks":[{"type":"strong"}],"text":"NT加速了微軟和IBM之間遲早到來的決裂"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"到1990年8月,蓋茨先生的新產品,一款名爲Windows,讓DOS程序更易用的圖形命令系統已經席捲了PC世界,每月銷售500,000份。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"巨大的成功讓蓋茨先生大膽下注 — 將Windows與NT結合,此舉讓微軟與IBM之間出現了無法彌合的裂痕。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"實際上,這意味着Cutler先生接到了新任務,讓NT運行爲Windows和DOS,而不是OS\/2和DOS編寫的應用程序。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"IBM得到了消息。這家公司實際上已經和微軟分道揚鑣,OS\/2是他們的最後合作遺產。(自那以後,Windows以10倍的市場份額擊敗了OS\/2。)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"蓋茨先生希望他對Windows的喜愛不會威脅到他與IBM的長期合作關係,但是當決裂不可避免時,他興高采烈地寫信給同事們說,微軟再也用不着接受IBM“糟糕的代碼、糟糕的設計和其他開銷”了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這次分裂提升了NT的地位,併爲團隊注入了新的活力。一夜之間,他們的工作從微軟外圍轉移到了蓋茨先生對微軟願景的核心領域,在那裏“我們所做的一切都應該致力於讓Windows更加成功”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"隨着項目步伐開始加快,Cutler先生的每日簡報從富有想象力的軟件方案研討會轉變爲對最後期限的討論。來自這個龐大組織各個部門的負責人匯聚一堂,他們開始與Cutler先生一起爭論他最擔憂的問題:"},{"type":"text","marks":[{"type":"strong"}],"text":"可靠性、可移植性和兼容性"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"測試人員和編程人員在可靠性領域爆發了很多最激烈的戰鬥。"},{"type":"text","text":" 每天晚上,測試人員都會讓新的NT代碼在200臺計算機上經受考驗,這種壓力在現實世界中很少出現。測試人員可能會要求NT連夜同時在不同的文件中讀寫。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同時,他們可能會指示程序在屏幕上創建一個圖形,然後一遍又一遍地擦除它。早上會生成一份測試報告,任何無法完成測試的計算機—可能是因爲崩潰或死機—都將受到調查。在一個美好的夜晚,只有2%的計算機會出現故障。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"當測試暴露出錯誤時,程序員很高興,但當測試人員看起來太殘忍並暴露出太多缺陷時,他們會大聲抱怨。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Cutler先生雖然堅信改進系統的一個好辦法就是破壞它,但他有時也會拒絕測試人員的建議,認爲他們過於嚴格了。一位參加每日會議的測試人員用別出心裁的手段報復了他,反覆坐在會議桌上Cutler先生喜歡的那把椅子上。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"追求可移植性的目標也考驗了團隊的耐心和紀律。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當開發人員未能對英特爾和Mips版本給予同等關注時,Cutler先生會大聲疾呼。他的信條是:像對待英特爾一樣對待Mips,並讓兩個版本都有夠快的速度。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有一次,NT的首席構建員Duncan先生違反了Cutler禁止將構建分爲Mips和英特爾版本的政策,因爲渴望獲得最新英特爾代碼的程序員要求他這樣做。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Duncan先生說,當Cutler先生得知自己的主要指示遭到違反時,“他把怨氣都撒在了我身上。”在第二天早上的一次會議上,NT最高領導斥責他做出了“單方面的決定”,並立即予以否決。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"“死亡行軍”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"微軟的所有人都明白,NT需要大批外部軟件開發人員參與才能取得成功,因此團隊的一個關鍵部門負責努力向成千上萬願意爲新系統編寫程序的大小公司推廣NT。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1991年10月,這個團隊發佈了一套代碼指南,幫助人們爲英特爾版本的NT編寫程序。12月,他們發佈了Mips版本指南。然而,這些早期工具包只是“開胃菜”。渴望開始爲NT編寫程序的軟件開發人員期待的是主食—個完整的工具包。微軟承諾於1992年7月7日在舊金山的一次會議上放出完整版。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"業界的期望值來到了高點。在過去,揭開一個未完成的操作系統的帷幕時從未面臨如此多的麻煩事。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是NT非常複雜,它有幾千個缺陷或錯誤,人們擔心這個套件會成爲一種恥辱。爲了在7月7日之前清理好整個項目,NT團隊發起了“死亡行軍”,一位成員這樣說道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"工作量增加了,簡報和構建時間延長到週六和週日,辦公室有了晚餐供應,很多人開始在工作中打盹—在辦公桌下、休息室和地板上酣睡。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"NT團隊中有很多人實際上從未有過這樣的衝刺經歷。對於18%的員工來說,這是他們大學畢業後的第一份工作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Johanne Caron,一位28歲的法裔加拿大人,正在編寫“DOS shell”的一部分代碼,這是支持現有DOS程序在NT上運行的指令層;她發現自己已經無路可退了。她的基本代碼影響了NT的一個關鍵部分,於是引來了審查。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果有人批評她,她說,“我會給他們個二比零。”與此同時,她的婚姻正在破裂。“我把我所有的精力都投入到了工作中,”她說。“我甚至沒有試圖挽救婚姻。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對這種瘋狂節奏感到不滿的不僅僅是員工的配偶。六月一個星期六的早上,Jonathan Manheim在去Cutler先生晨會的路上送他七歲的兒子去參加一場足球比賽。下車時男孩說:“如果你賽後還在這裏,我會把我所有的玩具都扔掉。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這句話讓正在努力製作與NT兼容的Windows圖形程序的Manheim先生大受刺激,“那就像一把刀插進了我心中。我不記得我對兒子說了什麼,但那天我沒有去上班。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Cutler先生一直保持着高壓政策。在大多數軟件開發項目中,正在開發的各個部分偶爾纔會拼接在一起。相比之下,"},{"type":"text","marks":[{"type":"strong"}],"text":"Cutler先生幾乎每天都堅持重新構建,這意味着NT的每個部分(其中一些包含數百個更改)都必須重新組裝成一個整體,然後進行新一輪的測試。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"這種不斷更新構建的戰鬥導致了更多程序員與構建員之間的對抗。"},{"type":"text","text":"“我們這些開發牛仔瘋狂地拋出代碼,大聲喊道:我們需要下一個構建,下一個,”首席構建員Duncan先生抱怨道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"激動的同事甚至會在Duncan先生加班的晚上睡在辦公桌下面時騷擾他。他開始在門上掛一個牌子:“請勿打擾,在桌子底下睡覺中。”白天,他開始加強戒備,爲自己和手下購買了施工安全帽。當他戴上帽子時,程序員經常會給帽子來一巴掌。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一些人筋疲力盡,博得了同事的同情。36歲的Walter Moore負責編寫在最流行的計算機屏幕上顯示圖像的代碼。代碼越聰明,圖像在屏幕上閃爍的速度就越快。這是一項基礎的、乏味的工作,但如果做得不好,可能會引起很多客戶的不滿。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在“死亡行軍”中,Moore先生髮現自己“越來越落後”。面對艱鉅的任務時,他有一種強烈的玩電子遊戲的衝動。一位富有同情心的經理給他背書,但他的表現變得如此糟糕,以至於同事們開始調侃他的狀況。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“遲早要完,”當人們問他出什麼事的時候,Moore先生這樣回答。最後,他所在部門的負責人告訴他:“我認爲你搞不定了。”10月,Moore先生辭職了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"儘管NT團隊“傷亡“慘重,但軟件開發人員的工具包還是按時交付了。那場爲期三天的會議“是一個轉折點,”在場的開發人員Peter Winston說。“它讓NT從願景變成了一款可行的產品。”套件賣出了五萬套,每套69美元,這對於未完成的產品來說是聞所未聞的數字。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"“殺蟲行動”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"蓋茨先生對NT項目還是不放心。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一些體驗過早期系統的潛在客戶告訴他,NT遠遠沒能打動他們。他們說它太慢了,需要太多內存,而且還沒有證明自己可以運行Windows應用程序。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最後一年的9月下旬,蓋茨先生被迫宣佈NT跳票,趕不上年底的預定時間。不久,發佈日期正式確定爲“1993年上半年”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"10月12日,NT的第一個測試版向真實客戶發佈。蓋茨先生對其中的一部分內容並不滿意。12月,他閉門會見了NT團隊的領導,並嚴厲提醒他們,"},{"type":"text","marks":[{"type":"strong"}],"text":"雖然軟件程序中的全新特性令人欽佩,但看到熟悉的程序運行得比以前更慢是最讓客戶受不了的事情"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"重點很明確。“比爾基本上指出了我們的工作重心應該放在哪裏,”負責測試的Moshe Dunie說。“那是他的天賦,他能看出弱點所在。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"這種缺陷基本都源於NT的龐大規模。"},{"type":"text","text":" NT就像一個巨大的交互式拼圖遊戲,每添加一塊拼圖都可能以不可預測的方式影響之前的圖形。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"NT需要與600多種打印機配合使用。它必須能夠識別調制解調器、指點設備,當然還有其他計算機並與之通信。它必須能夠完美地運行流行的Windows程序—這些程序本來完全是用另一種語言編寫的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"團隊在編寫代碼、構建程序並用測試來懲罰自己時可以學到很多東西,但即使是Cutler先生也承認沒有人“能夠掌握NT的複雜性”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"隨着3月第二個測試版本的發佈日期臨近,焦慮情緒開始蔓延。系統性能正在提升,功能已經就緒,數量驚人的現有應用程序和外圍硬件已經接入。但是"},{"type":"text","marks":[{"type":"strong"}],"text":"與Windows程序的兼容性 "},{"type":"text","text":"— 一個至關重要的目標—直是一個令人頭疼的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事實證明,一些人理想中的,一個處理Windows程序的通用翻譯器是不可能實現的。因此,由Mark Felton領導的一個由九名程序員組成的團隊製作了“變通代碼”,在NT中嵌入了多個獨立的翻譯器,當NT被要求運行特定的Windows程序時,這些翻譯器就會開始工作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Felton團隊的目標是讓NT支持200個Windows程序,但事實證明,很大一部分程序很難兼容。高層管理人員擔心,如果NT不能很好地運行Windows程序,一些客戶可能會完全拒絕它。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"壓力越來越大了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Felton先生是一位自信的程序員;二戰後,他的父母都在他的家鄉英格蘭開始了軟件開發人員的生涯。然而,Felton先生的道路並非一帆風順。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“有時事情會倒退,”他說,因爲某些Windows程序實際上在最新的和據稱有所改進的版本上運行得更糟。運行Windows程序所需的“變通辦法”越來越多,已經很大的NT只能繼續增長。“如果我們更小一點就好了,”Felton先生說,因爲更胖的代碼需要更多的內存,而更多的內存意味着更昂貴的計算機。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"與此同時,數以千計的編程錯誤威脅着NT。"},{"type":"text","text":" 錯誤按優先級排序,“priority”和“showstopper”—可能導致系統崩潰或數據丟失的錯誤—受​​到最多關注。對錯誤的修復經常會產生更多的錯誤。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"即使是像Cutler先生這樣經驗豐富的程序員也不排除NT可能以某種方式陷入一個奇怪的無限循環的可能性 — 也就是說錯誤修復又會帶來崩潰性的錯誤"},{"type":"text","text":"。這種場面並不罕見。軟件業歷史上充斥着臭名昭著的失敗項目。這類失敗經歷曾讓很多人的職業生涯在嘲笑聲中迎來終點。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"每當發現一個新錯誤時,“事情……看起來很糟糕,”Cutler先生說。“然後有人修復了一個錯誤,局勢就扭轉過來了。”他的一名高級助手David Thomson補充說:“每天早上我們都會查看錯誤數量。如果數量持續增加,我們就完蛋了。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"耐心逐漸耗盡。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一個星期六晚上,Cutler先生指責Caron女士沒有在當天早些時候提交一個修復程序,錯過了壓力測試。他要她解釋原因。“我在上空手道課,踢別人的屁股,”她回擊道,Cutler先生震驚滿面,只說了一句“OK”。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"妥協,而不是完美"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在NT團隊全力以赴的時候,情況已經很明顯了。"},{"type":"text","marks":[{"type":"strong"}],"text":"這個項目會成爲一團混亂而成功的妥協代碼,而不是什麼完美代碼的典範之作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"例如,在4月的最後一週,團隊修復了足足1,132個錯誤,但發現了713個嚴重到需要修復的新錯誤。剛剛發佈的NT程序包含一些錯誤,而當最終版本在60天內發佈時,幾乎肯定會有錯誤被保留下來。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一批NT代碼編寫者之一Mark Lucovsky說,現在的選項很明顯:“這個問題我們解決了嗎?這個問題我們推遲了嗎?這個問題是我們正在處理的嗎?”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最嚴重的那些問題都是和NT與知名Windows程序之間的不兼容相關的。例如,流行的桌面出版程序Aldus Pagemaker在某些情況下無法打印成功。因爲像這樣的小故障很可能會被用戶發現,最近幾周更多的測試人員和錯誤修復人員被分配到Windows兼容性問題上。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"截至5月初,Felton先生的清理團隊統計到,200個選定的Windows應用程序中有80%在NT上的表現“良好”或“優秀”,但其他20%被歸類爲“差”“一般”或“炸彈”。儘管如此,負責NT項目的微軟高級副總裁Paul Maritz表示,“我們已經解決了這個問題。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對蓋茨來說,他認爲NT“完全達到了我們爲其設定的目標”,儘管他希望代碼不至於變得如此龐大。他希望NT能運行在具有8兆字節隨機存取存儲器的PC上,但承認在大多數情況下它需要12到16兆字節。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"不管妥協與否,NT都被行業觀察家視爲重磅炸彈,因爲它實現了微軟在網絡能力、可靠性、兼容性和可移植性方面的一系列主要目標,使其競爭對手難以爲繼,並打造了一個可以持續到20世紀末的操作系統。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"蓋茨先生預測,來年微軟將售出100萬份NT,Windows用戶的初始定價爲295美元。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“你不得不說NT是肯定會成功的,”貿易週刊Info world的編輯Stewart Alsop說。“唯一的問題是有多肯定?它是個人和組織計算的全部未來,還是說只是一部分?”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Cutler先生拒絕對結果作出判斷。他說他“非常堅決”不去做預測。“當你沒有發貨時,你不會做預測。直到NT上架,我們才完成目標。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其他人說Cutler先生已經可以贏得掌聲了。著名計算機設計師、Cutler先生的導師之一Gordon Bell認爲,雖然這位NT負責人的方法很苛刻,但“這可能是唯一能夠在這樣的項目中取得成功的風格。我認爲世界上沒有其他人能做出來NT。沒有其他人擁有項目所需的令人難以置信的專注力和耐力。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"至於Cutler先生的團隊,他們對未來的看法存在分歧。許多人熱切期待着爲NT的下一個版本工作,而另一些人則覺得他們生命中的一章已經結束。他們有些累了,幾乎到了崩潰的邊緣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"經過近兩年的“發佈模式”,一個又一個期限迫在眉睫,“人們真的筋疲力盡,”圖形程序員Charles Whitmer說。“很多人都感到憤怒、疲倦,感覺身體被掏空。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文鏈接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/tech-insider.org\/windows\/research\/1993\/0526.html","title":"","type":null},"content":[{"type":"text","text":"https:\/\/tech-insider.org\/windows\/research\/1993\/0526.html"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章