作品介紹

Linux/Unix設(shè)計(jì)思想


作者:甘卡茲     整理日期:2017-02-19 22:37:38


  《Linux\Unix設(shè)計(jì)思想/圖靈程序設(shè)計(jì)叢書》內(nèi)容簡介:將Linux的開發(fā)方式與Unix的原理有效地結(jié)合起來,總結(jié)出Linux與Unix軟件開發(fā)中的設(shè)計(jì)原則!禠inux\Unix設(shè)計(jì)思想/圖靈程序設(shè)計(jì)叢書》前8章分別介紹了Linux與Unix中9條基本的哲學(xué)準(zhǔn)則和10條次要準(zhǔn)則。第9章和第10章將Unix系統(tǒng)的設(shè)計(jì)思想與其他系統(tǒng)的設(shè)計(jì)思想進(jìn)行了對比。最后介紹了Unix哲學(xué)準(zhǔn)則在其他領(lǐng)域中的應(yīng)用。

目錄:
  目 錄
  譯者序 5
  序言 6
  前言 10
  第1章 Unix哲學(xué):集思廣益的智慧 17
  1.1 “非我發(fā)明”綜合癥 18
  1.2 Unix的開發(fā) 19
  1.3 Linux: 一個人加上一百萬人的智慧 20
  1.4 Unix哲學(xué)的概況 21
  第2章 人類的一小步 24
  2.1 “小即是美” 25
  2.2 讓軟件工程變得輕松 27
  2.2.1 小程序易于理解 27
  2.2.2 小程序易于維護(hù) 28
  2.2.3 小程序消耗的系統(tǒng)資源較少 28
  2.2.4 小程序容易與其它工具相結(jié)合 29
  2.3 對“昆蟲(bug)”的研究 30
  2.4 準(zhǔn)則2:讓每一個程序做好一件事情 30
  第3章 快速建立原型的樂趣和好處 33
  3.1 知識與學(xué)習(xí)曲線 34
  3.1.1事實(shí)是,每個人有自己的學(xué)習(xí)曲線 34
  3.1.2 大師們也知道,變化不可避免 35
  3.1.3 為什么軟件會被稱為“軟件”? 36
  3.2 盡快建立一個原型 37
  3.2.1 原型的建立是一個學(xué)習(xí)的過程 38
  3.2.2 建立早期原型能夠降低風(fēng)險 38
  3.3 人類創(chuàng)造的三種系統(tǒng) 38
  3.4 人類的“第一個系統(tǒng)” 39
  3.4.1 在背水一戰(zhàn)的情況下,人類創(chuàng)建了“第一個系統(tǒng)” 39
  3.4.2 他沒有足夠的時間將事情做好 39
  3.4.3 人們獨(dú)自開發(fā)出“第一個系統(tǒng)”,或最多也只是一小群人 40
  3.4.4 “第一個系統(tǒng)”是一個“精簡、中庸的計(jì)算機(jī)器” 41
  3.4.5 “第一個系統(tǒng)”的概念可以激發(fā)他人的創(chuàng)造力 41
  3.5 人類的“第二個系統(tǒng)” 42
  3.5.1 “專家”使用“第一個系統(tǒng)”驗(yàn)證過的想法來創(chuàng)建“第二個系統(tǒng)” 42
  3.5.2 “第二個系統(tǒng)”擁有一個設(shè)計(jì)委員會 43
  3.5.3 “第二個系統(tǒng)”是臃腫和緩慢的 43
  3.5.4 “第二個系統(tǒng)”被譽(yù)為是一個偉大的成就 44
  3.6 人類的“第三個系統(tǒng)” 45
  3.6.1 “第三個系統(tǒng)”由那些為“第二個系統(tǒng)”所累的人們創(chuàng)建 45
  3.6.2 “第三個系統(tǒng)”通常涉及到對“第二個系統(tǒng)”的名稱變更 45
  3.6.3 最初的概念依然不變,它還是很明顯 46
  3.6.4 “第三個系統(tǒng)”結(jié)合了第一和第二系統(tǒng)的最佳特性 46
  3.6.5 “第三個系統(tǒng)”的設(shè)計(jì)者時間充裕,足以將任務(wù)做好 46
  3.7 Linux既是“第三個系統(tǒng)”,又是“第二個系統(tǒng)” 47
  3.8 建立“第三個系統(tǒng)” 47
  第4章 可移植性的高優(yōu)先級 51
  4.1 準(zhǔn)則4:舍高效率而取“可移植性” 53
  4.1.1 下_的硬件將會跑得更快 53
  4.1.2 不要花太多時間去優(yōu)化程序 54
  4.1.3最高效的方法通常不具備可移植性 55
  4.1.4 可移植的軟件還減少了用戶培訓(xùn)的需求 56
  4.1.5 好程序永不消失——它們會被移植到新的硬件平臺 56
  4.2 準(zhǔn)則5:采用純文本文件來存儲數(shù)據(jù) 59
  4.2.1文本是一種常見的可轉(zhuǎn)換格式 59
  4.2.2文本文件易于閱讀和編輯 60
  4.2.3文本文件數(shù)據(jù)簡化了Unix文本工具的使用 60
  4.2.4 可移植性的增強(qiáng)克服了速度欠佳這一缺點(diǎn) 61
  4.2.5速度欠佳這一缺點(diǎn)會被明年的機(jī)器克服 62
  第5章 軟件的杠桿效應(yīng)! 65
  5.1 準(zhǔn)則六:充分利用軟件的杠桿效應(yīng) 67
  5.1.1 好的程序員編寫好的代碼;偉大的程序員借用好的代碼 67
  5.1.2 避免“非我發(fā)明(NIH)綜合癥” 68
  5.1.3 允許他人使用你的代碼來發(fā)揮軟件杠桿效應(yīng) 70
  5.1.4將一切自動化 71
  5.2 準(zhǔn)則7:使用shell腳本來提高杠桿效應(yīng)和可移植性 72
  5.2.1 Shell腳本帶給你無與倫比的杠桿效應(yīng) 73
  5.2.2 Shell腳本還可以充分發(fā)揮時間的杠桿效應(yīng) 75
  5.2.3 Shell腳本比C程序更具有可移植性 76
  5.2.4 抵制采用C語言來重寫shell腳本的愿望 76
  第6章 交互式程序的高風(fēng)險 79
  6.1 準(zhǔn)則8:避免捕獲性的用戶界面(CUI) 81
  6.1.1 CUI假定用戶是人類 83
  6.1.2 CUI命令解析器的規(guī)?偸呛艽,并難以編寫 84
  6.1.3 CUI傾向于采用“大即是美”的做法 85
  6.1.4 擁有CUI的程序難以與其他項(xiàng)目相結(jié)合 85
  6.1.5 CUI沒有良好的擴(kuò)展性 86
  6.1.6 最重要的是,CUI無法利用軟件的杠桿效應(yīng) 86
  6.1.7 “誰在乎CUI程序?人們都不愿意打字了” 87
  6.2 準(zhǔn)則9:讓每一個程序都成為過濾器 88
  6.2.1 自有計(jì)算技術(shù)以來,人們編寫的每一個程序都是過濾器 88
  6.2.2 程序不創(chuàng)建數(shù)據(jù),只有人類才會創(chuàng)建數(shù)據(jù) 88
  6.2.3 計(jì)算機(jī)將數(shù)據(jù)從一種形式轉(zhuǎn)換成另一種形式 89
  6.3 Linux環(huán)境:將程序作為過濾器使用 89
  第7章 更多Unix哲學(xué):十條小準(zhǔn)則 92
  7.1 允許用戶定制環(huán)境 93
  7.2 盡量使操作系統(tǒng)的內(nèi)核小而輕巧 94
  7.3 使用小寫字母并盡量簡短 95
  7.4 保護(hù)樹木 96
  7.5 沉默是金 97
  7.6 并行思考(Think parallel) 99
  7.7 各部分之和大于整體 100
  7.8 尋求90%的解決方案 102
  7.9 更糟糕的反而效果更好(Worse is better) 103
  7.10 層次思考(Think hierarchically) 104
  第8章 讓 Unix 做好一件事情 106
  8.1 Unix哲學(xué):綜述 110
  第9章 Unix和其他操作系統(tǒng)的哲學(xué) 114
  9.1雅達(dá)利家用電腦:人類工程的藝術(shù) 115
  9.2 MS-DOS:七千多萬用戶的選擇不會錯 118
  9.3 VMS系統(tǒng):Unix的對立面? 120
  第10章 撥開重重迷霧:Linux與Windows 的比較 123
  10.1這就是內(nèi)容,傻瓜! 126
  10.1.1視覺內(nèi)容:“用我自己的眼睛去看” 127
  10.1.2有聲內(nèi)容:“聽得到嗎?” 129
  10.1.3文字內(nèi)容:“視頻可以終結(jié)廣播明星,卻消滅不了小報” 130
  第11章 大教堂?多么怪異! 140
  第12章 Unix的勇敢新世界 149
  關(guān)于作者 164





上一本:通靈芯片 下一本:策略與博弈

作家文集

下載說明
Linux/Unix設(shè)計(jì)思想的作者是甘卡茲,全書語言優(yōu)美,行文流暢,內(nèi)容豐富生動引人入勝。為表示對作者的支持,建議在閱讀電子書的同時,購買紙質(zhì)書。

更多好書