Linux九大哲学原理,Linux/Unix设计思想(全新阐释开源哲学,Jon “maddog” Hall作序推荐)...
《Linux/Unix設(shè)計思想》
第1章 Unix哲學(xué):集思廣益的智慧 1
1.1 NIH綜合征 2
1.2 Unix的開發(fā) 2
1.3 Linux:一個人加上一百萬人的智慧 4
1.4 Unix哲學(xué)概述 5
第2章 人類的一小步 9
2.1 準則1:小即是美 10
2.2 簡化軟件工程 12
2.2.1 小程序易于理解 12
2.2.2 小程序易于維護 13
2.2.3 小程序消耗的系統(tǒng)資源較少 14
2.2.4 小程序容易與其他工具相結(jié)合 15
2.3 關(guān)于“昆蟲”的研究 16
2.4 準則2:讓每一個程序只做好一件事 16
第3章 快速建立原型的樂趣和好處 19
3.1 知識與學(xué)習(xí)曲線 19
3.1.1 事實上,每個人有自己的學(xué)習(xí)曲線 20
3.1.2 大師們也知道,變化不可避免 21
3.1.3 為什么軟件會被稱為“軟件” 21
3.2 準則3:盡快建立原型 23
3.2.1 原型的建立是學(xué)習(xí)的過程 24
3.2.2 建立早期原型能夠降低風(fēng)險 24
3.3 人類創(chuàng)造的三個系統(tǒng) 25
3.4 人類的“第一個系統(tǒng)” 26
3.4.1 在背水一戰(zhàn)的情況下,人類創(chuàng)建了“第一個系統(tǒng)” 26
3.4.2 沒有足夠的時間將事情做好 26
3.4.3 “第一個系統(tǒng)”是單槍匹馬或是一小群人開發(fā)的 26
3.4.4 “第一個系統(tǒng)”是一個“精簡、其貌不揚的計算機器” 27
3.4.5 “第一個系統(tǒng)”的概念可以激發(fā)他人的創(chuàng)造力 28
3.5 人類的“第二個系統(tǒng)” 29
3.5.1 “專家”使用“第一個系統(tǒng)”驗證過的想法來創(chuàng)建“第二個系統(tǒng)” 29
3.5.2 “第二個系統(tǒng)”是由委員會設(shè)計的 30
3.5.3 “第二個系統(tǒng)”臃腫而緩慢 31
3.5.4 “第二個系統(tǒng)”被大張旗鼓地譽為偉大的成就 32
3.6 人類的“第三個系統(tǒng)” 32
3.6.1 “第三個系統(tǒng)”由那些為“第二個系統(tǒng)”所累的人們創(chuàng)建 32
3.6.2 “第三個系統(tǒng)”通常會改變“第二個系統(tǒng)”的名稱 33
3.6.3 最初的概念保持不變并顯而易見 33
3.6.4 “第三個系統(tǒng)”結(jié)合了“第一個系統(tǒng)”和“第二個系統(tǒng)”的最佳特性 34
3.6.5 “第三個系統(tǒng)”的設(shè)計者有充裕的時間將任務(wù)做好 34
3.7 Linux既是“第三個系統(tǒng)”,又是“第二個系統(tǒng)” 34
3.8 建立“第三個系統(tǒng)” 35
第4章 可移植性的優(yōu)先權(quán) 39
4.1 準則4:舍高效率而取可移植性 40
4.1.1 下一……的硬件將會跑得更快 41
4.1.2 不要花太多時間去優(yōu)化程序 42
4.1.3 最高效的方法通常不可移植 43
4.1.4 可移植的軟件還減少了用戶培訓(xùn)的需求 45
4.1.5 好程序永不會消失,而會被移植到新平臺 45
4.2 準則5:采用純文本文件來存儲數(shù)據(jù) 48
4.2.1 文本是通用的可轉(zhuǎn)換格式 49
4.2.2 文本文件易于閱讀和編輯 49
4.2.3 文本數(shù)據(jù)文件簡化了Unix文本工具的使用 49
4.2.4 可移植性的提高克服了速度的不足 51
4.2.5 速度欠佳的缺點會被明年的機器克服 52
第5章 軟件的杠桿效應(yīng) 55
5.1 準則6:充分利用軟件的杠桿效應(yīng) 57
5.1.1 良好的程序員編寫優(yōu)秀代碼,優(yōu)秀的程序員借用優(yōu)秀代碼 57
5.1.2 避免NIH綜合征 58
5.1.3 允許他人使用你的代碼來發(fā)揮軟件杠桿效應(yīng) 61
5.1.4 將一切自動化 62
5.2 準則7:使用shell腳本來提高杠桿效應(yīng)和可移植性 64
5.2.1 shell腳本可以帶來無與倫比的杠桿效應(yīng) 65
5.2.2 shell腳本還可以充分發(fā)揮時間的杠桿效應(yīng) 67
5.2.3 shell腳本的可移植性比C程序更高 68
5.2.4 抵制采用C語言來重寫shell腳本的愿望 69
第6章 交互式程序的高風(fēng)險 72
6.1 準則8:避免強制性的用戶界面 74
6.1.1 CUI假定用戶是人類 76
6.1.2 CUI命令解析器的規(guī)模龐大且難以編寫 77
6.1.3 CUI偏好“大即是美”的做法 78
6.1.4 擁有CUI的程序難以與其他項目相結(jié)合 79
6.1.5 CUI沒有良好的擴展性 80
6.1.6 最重要的是,CUI無法利用軟件的杠桿效應(yīng) 80
6.1.7 “CUI有什么關(guān)系?人們都不愿意打字了。” 81
6.2 準則9:讓每一個程序都成為過濾器 82
6.2.1 自有計算技術(shù)以來,人們編寫的每一個程序都是過濾器 82
6.2.2 程序不創(chuàng)建數(shù)據(jù),只有人類才會創(chuàng)建數(shù)據(jù) 83
6.2.3 計算機將數(shù)據(jù)從一種形式轉(zhuǎn)換成另一種 84
6.3 Linux環(huán)境:將程序用作過濾器 84
第7章 更多Unix哲學(xué):十條小準則 88
7.1 允許用戶定制環(huán)境 89
7.2 盡量使操作系統(tǒng)內(nèi)核小而輕量化 90
7.3 使用小寫字母并盡量簡短 91
7.4 保護樹木 93
7.5 沉默是金 94
7.6 并行思考 95
7.7 各部分之和大于整體 97
7.8 尋求90%的解決方案 99
7.9 更壞就是更好 100
7.10 層次化思考 102
第8章 讓Unix只做好一件事 105
第9章 Unix和其他操作系統(tǒng)的哲學(xué) 113
9.1 雅達利家用電腦:人體工程的藝術(shù) 114
9.2 MS-DOS:七千多萬用戶的選擇不會錯 117
9.3 VMS系統(tǒng):Unix的對立面 119
第10章 撥開層層迷霧:Linux與Windows的比較 123
10.1 內(nèi)容為王,傻瓜 126
10.1.1 視覺內(nèi)容:“用自己的眼睛去看。” 128
10.1.2 有聲內(nèi)容:“聽得到嗎?” 129
10.1.3 文字內(nèi)容:“視頻可以終結(jié)廣播明星,卻消滅不了小報。” 131
第11章 大教堂?多怪異 143
第12章 Unix的美麗新世界 153
總結(jié)
以上是生活随笔為你收集整理的Linux九大哲学原理,Linux/Unix设计思想(全新阐释开源哲学,Jon “maddog” Hall作序推荐)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git master主分支_Git分支管
- 下一篇: ssh查找linux端口,linux –