官术网_书友最值得收藏!

前 言

“回憶往往披著玫瑰色的光暈,令人歡欣。回憶常駐于美好而持久的事物上,也常駐于因努力改善人類生活而獲得的愉悅之中。”

——丹尼斯·里奇,
“The Evolution of the Unix Time-sharing System”
(Unix分時系統(tǒng)的演進),1984年10月

自1969年在貝爾實驗室的閣樓上誕生以來,Unix操作系統(tǒng)的發(fā)展遠(yuǎn)遠(yuǎn)超出其創(chuàng)造者們的想象。它帶動了許多創(chuàng)新軟件的開發(fā),影響了無數(shù)程序員,改變了整個計算機技術(shù)的發(fā)展軌跡。

Unix及其衍生產(chǎn)品在特定的技術(shù)社區(qū)之外并不廣為人知,但它們是若干系統(tǒng)的核心,這些系統(tǒng)已是許多人生活的一部分。谷歌(Google)、臉書(Facebook)、亞馬遜(Amazon)等提供的許多服務(wù)和其他大量服務(wù)都由Linux驅(qū)動。Linux是類Unix操作系統(tǒng),后文將會講到。你的手機或MacBook運行著某種版本的Unix操作系統(tǒng)。如果你家里有Alexa等智能小電器,或者車上有導(dǎo)航軟件,它們也由類Unix操作系統(tǒng)驅(qū)動。如果你瀏覽網(wǎng)頁時總被廣告轟炸,也是Unix操作系統(tǒng)在后面支撐。當(dāng)然,基于Unix的追蹤系統(tǒng)也知道你在做什么,以便更精準(zhǔn)地對你進行廣告轟炸。

50多年前,在一小群合作者和追隨者的幫助下,有兩個人創(chuàng)造了Unix。由于一系列幸運的“意外”,我在其中亦有貢獻,但絕不敢居功自傲。我頂多是寫了一些有用的軟件,還有幾本幫助人們學(xué)習(xí)Unix及其語言、工具和哲學(xué)的圖書。這要感謝那些頂尖的合著者們。

本書不但書寫Unix的歷史,而且記錄了我的回憶,一探Unix的起源。本書試圖解釋什么是Unix,Unix是如何產(chǎn)生的,以及Unix為何如此重要。不過,本書絕非學(xué)術(shù)著作(腳注欠奉[1]),與我的初衷不同,它偏重回憶甚于歷史。

本書為那些有興趣了解計算或創(chuàng)新史的讀者撰寫。書中有一些技術(shù)內(nèi)容,我會盡量給出解釋,好讓沒有相關(guān)背景知識的讀者能夠領(lǐng)會基本概念,以及了解這些概念的重要之處。讀者可以隨意略過看起來太難懂的部分,不必逐字閱讀。對于程序員,其中一些解釋會顯得太啰唆,還好書中有些對歷史的思考仍然有用,與之有關(guān)的故事也頗有意趣。

我雖盡力求真,但回憶總有錯漏。而且,那些我借以佐證的訪談、憶舊、口述、書籍和文章并不全然與我的記憶相符,甚至這些資料也會互相矛盾。

幸好很多早期參與其中的人士仍然健在,他們能夠幫我去偽存真。他們的記憶也會有誤,或者帶有定見,但成書中的錯漏皆我之過。

本書主要的寫作目的是講述計算機歷史上某個極具生產(chǎn)力和發(fā)展性的時期中的一些精彩往事。理解我們習(xí)以為常地使用的技術(shù)如何演化而來,頗為要緊。有人頂住壓力、克服時間限制,做出了定義技術(shù)發(fā)展方向和路徑的決策。越了解歷史,我們越感激那些帶來Unix的發(fā)明天才,或許也越能理解現(xiàn)代計算機系統(tǒng)是如何發(fā)展成現(xiàn)在這個樣子的。僅就那些如今看起來大錯特錯抑或倒行逆施的選擇而言,常常也是在當(dāng)時可用資源限制之下所能考慮和實現(xiàn)的必然結(jié)果。

Unix操作系統(tǒng)是故事的中心,但其余亦有涉及。我還將講述被廣泛使用的C語言,人們用它編寫了支持互聯(lián)網(wǎng)運行的系統(tǒng)及利用系統(tǒng)能力的各種服務(wù)。在貝爾實驗室,還有一些編程語言隨Unix而生,尤其要提到也被廣泛使用的C++。Word、Excel和PowerPoint等微軟Office軟件就是用C++寫成的,大多數(shù)網(wǎng)頁瀏覽器也是用C++編寫的。程序員們耳熟能詳?shù)囊欢畟€日常開發(fā)工具,在Unix的早期就已問世,四五十年以來一直維持原狀,至今仍在許多程序員的工具包中有一席之地。

計算機科學(xué)理論同樣扮演著重要的角色,常常極大地推動實用工具的產(chǎn)生。硬件研究開拓出設(shè)計工具、集成電路、計算機體系架構(gòu),還有不常見的特殊用途設(shè)備。這些活動相互作用,往往帶來預(yù)料以外的發(fā)明,這也是貝爾實驗室在多個不同領(lǐng)域持續(xù)產(chǎn)出活力的原因之一。

科技創(chuàng)新的發(fā)生還與另一件有趣的事相關(guān)。Unix誕生地貝爾實驗室是很出色的機構(gòu),它既制造出許多好點子,也投資了這些好點子。多個改變世界的發(fā)明由貝爾實驗室而起,它的運作機制值得學(xué)習(xí)。

Unix的故事當(dāng)然也貢獻了大量有關(guān)設(shè)計和構(gòu)造軟件,以及有效利用計算機的洞見,我會在書中一一指出。例如,Unix軟件哲學(xué)倡導(dǎo)合用既有軟件,完成很多不同任務(wù),而不是從頭寫個新軟件。這個例子簡明又生動,它在編程領(lǐng)域體現(xiàn)了“分而治之”的故技:將大任務(wù)切分為多個小任務(wù),每個小任務(wù)都變得更可控,然后再以各種不可思議的方式將之整合到一起。

最后,雖然Unix是貝爾實驗室最搶眼的軟件,但它絕非貝爾實驗室對計算領(lǐng)域的唯一貢獻。計算科學(xué)研究中心(The Computing Science Research Center),即傳說中的“1127中心”,或簡稱“1127”,在那二三十年里面生產(chǎn)力“爆棚”。Unix激發(fā)了它的能力,Unix也是它的工作基礎(chǔ),但1127中心的貢獻遠(yuǎn)超于此。1127中心的成員寫出了多本重要著作,這些著作在后面的很多年里成為計算機科學(xué)的核心文獻,也是程序員可以按圖索驥的指南。1127中心分外顯赫,在當(dāng)時及以后都是極具生產(chǎn)力和規(guī)模較大的計算機科學(xué)研究團體。

Unix及其周邊環(huán)境為何如此成功?區(qū)區(qū)兩人的實驗性產(chǎn)品如何演化為真正改變世界的東西?這是否是孤例?類似事件還會再發(fā)生嗎?關(guān)于如此耀眼的成果能否被規(guī)劃出來的大問題,我打算留到本書末尾再討論。目前我認(rèn)為,Unix的成功是一些偶然因素的作用結(jié)果:兩位杰出人士,一群優(yōu)秀擁躉,卓越而開明的管理體制,有遠(yuǎn)見的公司的持續(xù)投資,允許離經(jīng)叛道、大膽探索的自由環(huán)境。科技快速演進,硬件以指數(shù)級速度不斷變小、變快、變便宜,推動了Unix的應(yīng)用。

對我和貝爾實驗室的很多同事而言,Unix的早期歲月既富有活力,又充滿樂趣。我希望這本書能讓你略微感受到丹尼斯?里奇說的那種因努力改善人類生活而獲得的愉悅。


[1]  原文如此。為幫助讀者理解,譯者添加了一些腳注。

主站蜘蛛池模板: 郯城县| 南皮县| 玉龙| 郁南县| 华亭县| 民勤县| 上思县| 宜昌市| 溧阳市| 全南县| 华蓥市| 政和县| 社会| 自治县| 克什克腾旗| 天峻县| 汶上县| 吉木乃县| 桐城市| 班戈县| 张家口市| 巩义市| 清河县| 肥城市| 青神县| 深水埗区| 教育| 盱眙县| 汉川市| 汶川县| 梅河口市| 许昌市| 麻栗坡县| 金湖县| 全椒县| 苍南县| 龙南县| 德州市| 宁海县| 隆德县| 当阳市|