《Linux/Unix設計思想》是2012年04月01日人民郵電出版社出版的圖書,作者是(美)Mike Gancarz。
基本介紹
- 書名:Linux/Unix設計思想
- 作者:(美)Mike Gancarz
- 類別:圖書 > > 其它分類
- 出版社:人民郵電出版社
- 出版時間:2012年04月01日
- 開本:16 開
- 裝幀:平裝
- ISBN:9787115266927
內容簡介,作者簡介,圖書目錄,
內容簡介
作為開發Unix多年的專家,Mike Gancarz曾說過:“要想成為計算機的主人,而不是它的奴隸,你就應該使用Linux!”有別於市面上的其他關注如何使用Linux的書籍,《Linux/Unix設計思想》講述的是“Linux的思維方式”,揭示了Linux正是Unix這一無所不能的作業系統的完美實現。到目前為止,沒有一本書同時介紹Unix和Linux的設計理念,《Linux/Unix設計思想》將這兩者有效地結合起來,保留了The Unix Philosophy中Unix方面的內容的同時,探討了Linux和開源領域的新思想。
作者簡介
Mike Gancarz是美國喬治亞州亞特蘭大市的一名編程及套用顧問。他的團隊使用Linux、Unix和Java工具,為金融服務行業開發出多個獲獎的成像解決方案。作為Unix應用程式設計專家,他不遺餘力地推廣Unix已達二十多年。作為開發出X Window System的團隊成員,Mike Gancarz還始創了一些至今仍套用在Linux的最新視窗管理器中的可用性觀念。Mike曾經在DEC公司位於新罕布夏州納舒厄城的Unix工程開發項目組工作,主持了將Unix命令和程式移植到64位Alpha處理器的工作。他的首部著作The Unix Philosophy(Digital Press,1995)令數以萬計的技術人員受益。
媒體評論
Linux和GNU項目的理念表面上是Unix哲學的下一個發展階段,實際上它只是生生不息的Unix的強勢回歸。The Unix Philosophy第一版中闡述的準則至今仍確切無誤,甚至得到更多的佐證。開源除了可以讓你清楚地了解到這些編程大師們創建系統的方式,還可以激勵你去創建更快、更強大的系統。
——Jon “maddog” Hall
Linux國際協會,執行理事
Gancarz有效地結合了Unix本身的準則和Linux開發社區中使用的Unix準則,對開源哲學進行了全新的闡釋。
——Henry L. Hall
圖書目錄
第1章 Unix哲學:集思廣益的智慧
1.1 NIH綜合徵
1.2 Unix的開發
1.3 Linux:一個人加上一百萬人的智慧
1.4 Unix哲學概述
第2章 人類的一小步
2.1 準則1:小即是美
2.2 簡化軟體工程
2.2.1 小程式易於理解
2.2.2 小程式易於維護
2.2.3 小程式消耗的系統資源較少
2.2.4 小程式容易與其他工具相結合
2.3 關於“昆蟲”的研究
2.4 準則2:讓每一個程式只做好一件事
第3章 快速建立原型的樂趣和好處
3.1 知識與學習曲線
3.1.1 事實上,每個人有自己的學習曲線
3.1.2 大師們也知道,變化不可避免
3.1.3 為什麼軟體會被稱為“軟體”
3.2 準則3:儘快建立原型
3.2.1 原型的建立是學習的過程
3.2.2 建立早期原型能夠降低風險
3.3 人類創造的三個系統
3.4 人類的“第一個系統”
3.4.1 在背水一戰的情況下,人類創建了“第一個系統”
3.4.2 沒有足夠的時間將事情做好
3.4.3 “第一個系統”是單槍匹馬或是一小群人開發的
3.4.4 “第一個系統”是一個“精簡、其貌不揚的計算機器”
3.4.5 “第一個系統”的概念可以激發他人的創造力
3.5 人類的“第二個系統”
3.5.1 “專家”使用“第一個系統”驗證過的想法來創建“第二個系統”
3.5.2 “第二個系統”是由委員會設計的
3.5.3 “第二個系統”臃腫而緩慢
3.5.4 “第二個系統”被大張旗鼓地譽為偉大的成就
3.6 人類的“第三個系統”
3.6.1 “第三個系統”由那些為“第二個系統”所累的人們創建
3.6.2 “第三個系統”通常會改變“第二個系統”的名稱
3.6.3 最初的概念保持不變並顯而易見
3.6.4 “第三個系統”結合了“第一個系統”和“第二個系統”的最佳特性
3.6.5 “第三個系統”的設計者有充裕的時間將任務做好
3.7 Linux既是“第三個系統”,又是“第二個系統”
3.8 建立“第三個系統”
第4章 可移植性的優先權
4.1 準則4:舍高效率而取可移植性
4.1.1 下一……的硬體將會跑得更快
4.1.2 不要花太多時間去最佳化程式
4.1.3 最高效的方法通常不可移植
4.1.4 可移植的軟體還減少了用戶培訓的需求
4.1.5 好程式永不會消失,而會被移植到新平台
4.2 準則5:採用純文本檔案來存儲數據
4.2.1 文本是通用的可轉換格式
4.2.2 文本檔案易於閱讀和編輯
4.2.3 文本數據檔案簡化了Unix文本工具的使用
4.2.4 可移植性的提高克服了速度的不足
4.2.5 速度欠佳的缺點會被明年的機器克服
第5章 軟體的槓桿效應
5.1 準則6:充分利用軟體的槓桿效應
5.1.1 良好的程式設計師編寫優秀代碼,優秀的程式設計師借用優秀代碼
5.1.2 避免NIH綜合徵
5.1.3 允許他人使用你的代碼來發揮軟體槓桿效應
5.1.4 將一切自動化
5.2 準則7:使用shell腳本來提高槓桿效應和可移植性
5.2.1 shell腳本可以帶來無與倫比的槓桿效應
5.2.2 shell腳本還可以充分發揮時間的槓桿效應
5.2.3 shell腳本的可移植性比C程式更高
5.2.4 抵制採用C語言來重寫shell腳本的願望
第6章 互動式程式的高風險
6.1 準則8:避免強制性的用戶界面
6.1.1 CUI假定用戶是人類
6.1.2 CUI命令解析器的規模龐大且難以編寫
6.1.3 CUI偏好“大即是美”的做法
6.1.4 擁有CUI的程式難以與其他項目相結合
6.1.5 CUI沒有良好的擴展性
6.1.6 最重要的是,CUI無法利用軟體的槓桿效應
6.1.7 “CUI有什麼關係?人們都不願意打字了。”
6.2 準則9:讓每一個程式都成為過濾器
6.2.1 自有計算技術以來,人們編寫的每一個程式都是過濾器
6.2.2 程式不創建數據,只有人類才會創建數據
6.2.3 計算機將數據從一種形式轉換成另一種
6.3 Linux環境:將程式用作過濾器
第7章 更多Unix哲學:十條小準則
7.1 允許用戶定製環境
7.2 儘量使作業系統核心小而輕量化
7.3 使用小寫字母並儘量簡短
7.4 保護樹木
7.5 沉默是金
7.6 並行思考
7.7 各部分之和大於整體
7.8 尋求90%的解決方案
7.9 更壞就是更好
7.10 層次化思考
第8章 讓Unix只做好一件事
第9章 Unix和其他作業系統的哲學
9.1 雅達利家用電腦:人體工程的藝術
9.2 MS-DOS:七千多萬用戶的選擇不會錯
9.3 VMS系統:Unix的對立面
第10章 撥開層層迷霧:Linux與Windows的比較
10.1 內容為王,傻瓜
10.1.1 視覺內容:“用自己的眼睛去看。”
10.1.2 有聲內容:“聽得到嗎?”
10.1.3 文字內容:“視頻可以終結廣播明星,卻消滅不了小報。”
第11章 大教堂?多怪異
第12章 Unix的美麗新世界