出版時間:2012-3-28 出版社:人民郵電 作者:甘卡茲 譯者:漆犇
Tag標(biāo)簽:無
內(nèi)容概要
作為開發(fā)unix多年的專家,mike
gancarz曾說過:“要想成為計算機的主人,而不是它的奴隸,你就應(yīng)該使用linux!”有別于市面上的其他關(guān)注如何使用linux的書籍,這《linux/unix設(shè)計思想》講述的是“l(fā)inux的思維方式”,揭示了linux正是unix這一無所不能的操作系統(tǒng)的完美實現(xiàn)。到目前為止,沒有一《linux/unix設(shè)計思想》同時介紹unix和linux的設(shè)計理念,《linux/unix設(shè)計思想》將這兩者有效地結(jié)合起來,保留了the
unix philosophy中unix方面的內(nèi)容的同時,探討了linux和開源領(lǐng)域的新思想。
作者簡介
Mike
Gancarz是美國佐治亞州亞特蘭大市的一名編程及應(yīng)用顧問。他的團隊使用Linux、Unix和Java工具,為金融服務(wù)行業(yè)開發(fā)出多個獲獎的成像解決方案。作為Unix應(yīng)用程序設(shè)計專家,他不遺余力地推廣Unix已達二十多年。作為開發(fā)出X
Window System的團隊成員,Mike
Gancarz還始創(chuàng)了一些至今仍應(yīng)用在Linux的最新窗口管理器中的可用性觀念。Mike曾經(jīng)在DEC公司位于新罕布什爾州納舒厄城的Unix工程開發(fā)項目組工作,主持了將Unix命令和程序移植到64位Alpha處理器的工作。他的首部著作The
Unix Philosophy(Digital Press, 1995)令數(shù)以萬計的技術(shù)人員受益。
書籍目錄
第1章 unix哲學(xué):集思廣益的智慧
1.1 nih綜合征
1.2 unix的開發(fā)
1.3 linux:一個人加上一百萬人的智慧
1.4 unix哲學(xué)概述
第2章 人類的一小步
2.1 準(zhǔn)則1:小即是美
2.2 簡化軟件工程
2.2.1 小程序易于理解
2.2.2 小程序易于維護
2.2.3 小程序消耗的系統(tǒng)資源較少
2.2.4 小程序容易與其他工具相結(jié)合
2.3 關(guān)于“昆蟲”的研究
2.4 準(zhǔn)則2:讓每一個程序只做好一件事
第3章 快速建立原型的樂趣和好處
3.1 知識與學(xué)習(xí)曲線
3.1.1 事實上,每個人有自己的學(xué)習(xí)曲線
3.1.2 大師們也知道,變化不可避免
3.1.3 為什么軟件會被稱為“軟件”
3.2 準(zhǔn)則3:盡快建立原型
3.2.1 原型的建立是學(xué)習(xí)的過程
3.2.2 建立早期原型能夠降低風(fēng)險
3.3 人類創(chuàng)造的三個系統(tǒng)
3.4 人類的“第一個系統(tǒng)”
3.4.1 在背水一戰(zhàn)的情況下,人類創(chuàng)建了“第一個系統(tǒng)”
3.4.2 沒有足夠的時間將事情做好
3.4.3 “第一個系統(tǒng)”是單槍匹馬或是一小群人開發(fā)的
3.4.4 “第一個系統(tǒng)”是一個“精簡、其貌不揚的計算機器”
3.4.5 “第一個系統(tǒng)”的概念可以激發(fā)他人的創(chuàng)造力
3.5 人類的“第二個系統(tǒng)”
3.5.1 “專家”使用“第一個系統(tǒng)”驗證過的想法來創(chuàng)建“第二個系統(tǒng)”
3.5.2 “第二個系統(tǒng)”是由委員會設(shè)計的
3.5.3 “第二個系統(tǒng)”臃腫而緩慢
3.5.4 “第二個系統(tǒng)”被大張旗鼓地譽為偉大的成就
3.6 人類的“第三個系統(tǒng)”
3.6.1 “第三個系統(tǒng)”由那些為“第二個系統(tǒng)”所累的人們創(chuàng)建
3.6.2 “第三個系統(tǒng)”通常會改變“第二個系統(tǒng)”的名稱
3.6.3 最初的概念保持不變并顯而易見
3.6.4 “第三個系統(tǒng)”結(jié)合了“第一個系統(tǒng)”和“第二個系統(tǒng)”的最佳特性
3.6.5 “第三個系統(tǒng)”的設(shè)計者有充裕的時間將任務(wù)做好
3.7 linux既是“第三個系統(tǒng)”,又是“第二個系統(tǒng)”
3.8 建立“第三個系統(tǒng)”
第4章 可移植性的優(yōu)先權(quán)
4.1 準(zhǔn)則4:舍高效率而取可移植性
4.1.1 下一……的硬件將會跑得更快
4.1.2 不要花太多時間去優(yōu)化程序
4.1.3 最高效的方法通常不可移植
4.1.4 可移植的軟件還減少了用戶培訓(xùn)的需求
4.1.5 好程序永不會消失,而會被移植到新平臺
4.2 準(zhǔn)則5:采用純文本文件來存儲數(shù)據(jù)
4.2.1 文本是通用的可轉(zhuǎn)換格式
4.2.2 文本文件易于閱讀和編輯
4.2.3 文本數(shù)據(jù)文件簡化了unix文本工具的使用
4.2.4 可移植性的提高克服了速度的不足
4.2.5 速度欠佳的缺點會被明年的機器克服
第5章 軟件的杠桿效應(yīng)
5.1 準(zhǔn)則6:充分利用軟件的杠桿效應(yīng)
5.1.1 良好的程序員編寫優(yōu)秀代碼,優(yōu)秀的程序員借用優(yōu)秀代碼
5.1.2 避免nih綜合征
5.1.3 允許他人使用你的代碼來發(fā)揮軟件杠桿效應(yīng)
5.1.4 將一切自動化
5.2 準(zhǔn)則7:使用shell腳本來提高杠桿效應(yīng)和可移植性
5.2.1 shell腳本可以帶來無與倫比的杠桿效應(yīng)
5.2.2 shell腳本還可以充分發(fā)揮時間的杠桿效應(yīng)
5.2.3 shell腳本的可移植性比c程序更高
5.2.4 抵制采用c語言來重寫shell腳本的愿望
第6章 交互式程序的高風(fēng)險
6.1 準(zhǔn)則8:避免強制性的用戶界面
6.1.1 cui假定用戶是人類
6.1.2 cui命令解析器的規(guī)模龐大且難以編寫
6.1.3 cui偏好“大即是美”的做法
6.1.4 擁有cui的程序難以與其他項目相結(jié)合
6.1.5 cui沒有良好的擴展性
6.1.6 最重要的是,cui無法利用軟件的杠桿效應(yīng)
6.1.7 “cui有什么關(guān)系?人們都不愿意打字了?!?
6.2 準(zhǔn)則9:讓每一個程序都成為過濾器
6.2.1 自有計算技術(shù)以來,人們編寫的每一個程序都是過濾器
6.2.2 程序不創(chuàng)建數(shù)據(jù),只有人類才會創(chuàng)建數(shù)據(jù)
6.2.3 計算機將數(shù)據(jù)從一種形式轉(zhuǎn)換成另一種
6.3 linux環(huán)境:將程序用作過濾器
第7章 更多unix哲學(xué):十條小準(zhǔn)則
7.1 允許用戶定制環(huán)境
7.2 盡量使操作系統(tǒng)內(nèi)核小而輕量化
7.3 使用小寫字母并盡量簡短
7.4 保護樹木
7.5 沉默是金
7.6 并行思考
7.7 各部分之和大于整體
7.8 尋求90%的解決方案
7.9 更壞就是更好
7.10 層次化思考
第8章 讓unix只做好一件事
第9章 unix和其他操作系統(tǒng)的哲學(xué)
9.1 雅達利家用電腦:人體工程的藝術(shù)
9.2 ms-dos:七千多萬用戶的選擇不會錯
9.3 vms系統(tǒng):unix的對立面
第10章 撥開層層迷霧:linux與windows的比較
10.1 內(nèi)容為王,傻瓜
10.1.1 視覺內(nèi)容:“用自己的眼睛去看。”
10.1.2 有聲內(nèi)容:“聽得到嗎?”
10.1.3 文字內(nèi)容:“視頻可以終結(jié)廣播明星,卻消滅不了小報?!?
第11章 大教堂?多怪異
第12章 unix的美麗新世界
章節(jié)摘錄
Unix哲學(xué):集思廣益的智慧這個世紀(jì)的哲學(xué)會成為下一個世紀(jì)的常識?!袊疫\餅干 許多人都將發(fā)明Unix操作系統(tǒng)的殊榮授予AT&T公司的Ken Thompson,從某種意義上來說,他們是對的。1969年在新澤西州美利山AT&T公司的貝爾實驗室,Thompson編寫出了Unix的第一個版本。它作為Space Travel程序的平臺運行在Digital PDP-7小型機上。此前,Space Travel程序運行在由麻省理工學(xué)院開發(fā)的Multics系統(tǒng)上。Unix的開發(fā)基于Multics系統(tǒng),后者屬于最早的一批分時操作系統(tǒng)。在Multics開發(fā)之前,大多數(shù)計算機操作系統(tǒng)都運行在批處理模式下,這迫使程序員們要去編輯大堆的打孔卡片或紙帶。在那些日子里,編程是一個耗時費力的過程。當(dāng)時有一句流行語是:“上帝幫幫那些打翻了打孔卡片盒的傻瓜吧?!备蛇^卡片機編程的人都懂。Thompson借鑒了Multics的許多特性,并將它們?nèi)谌氲皆缙诘腢nix版本,其中最主要的特點就是分時處理。如果沒有這種特性,那些在當(dāng)前Unix系統(tǒng)或是其他操作系統(tǒng)上被人們視作理所當(dāng)然的大部分功能,就會失去它們真正的力量。Thompson的開發(fā)工作從借鑒Multics的想法入手,對于Unix開發(fā)人員而言,這樣的套路可謂是駕輕就熟:良好的程序員寫出優(yōu)秀的軟件,優(yōu)秀的程序員“竊取”優(yōu)秀的軟件。當(dāng)然,我們并沒有暗示Thompson是一個小偷。但正是他這種在某些方面避免NIH(Not Invented Here,非我發(fā)明)綜合征的意愿和基于別人的成果添加頗具創(chuàng)造性價值的做法,大力推動了這一款或許是歷史上最精巧操作系統(tǒng)的出臺。我們還將在后面探討“竊取”軟件的意義?,F(xiàn)在只需要記住,將一個想法與人共享就如同一個大腦里有了兩個想法。1.1 NIH綜合征軟件開發(fā)人員經(jīng)常會受到NIH綜合征的影響。在查看別人編寫的軟件解決方案時,他認為自己完全可以做得更好。也許他真的能更為痛快利落地完成這項工作,但他并不知道別的開發(fā)人員當(dāng)時面臨的限制條件。他們可能迫于時間或預(yù)算的壓力,于是,只能集中精力處理這個解決方案中的某些特定部分。
媒體關(guān)注與評論
Linux和GNU項目的理念表面上是Unix哲學(xué)的下一個發(fā)展階段,實際上它只是生生不息的Unix的強勢回歸。The Unix Philosophy第一版中闡述的準(zhǔn)則至今仍確切無誤,甚至得到更多的佐證。開源除了可以讓你清楚地了解到這些編程大師們創(chuàng)建系統(tǒng)的方式,還可以激勵你去創(chuàng)建更快、更強大的系統(tǒng)。 ——Jon “maddog” Hall Linux國際協(xié)會,執(zhí)行理事 Gancarz有效地結(jié)合了Unix本身的準(zhǔn)則和Linux開發(fā)社區(qū)中使用的Unix準(zhǔn)則,對開源哲學(xué)進行了全新的闡釋。 ——Henry L. Hall
編輯推薦
《Linux\Unix設(shè)計思想/圖靈程序設(shè)計叢書》編輯推薦:剖析Linux/Unix制勝之道全新闡釋開源哲學(xué)Jon”maddog”Hall作序并推薦!
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載