《LinuxUnix设计思想/图灵程序设计丛书》内容简介:将Linux的开发方式与Unix的原理有效地结合起来,总结出Linux与Unix软件开发中的设计原则。《LinuxUnix设计思想/图灵程序设计丛书》前8章分别介绍了Linux与Unix中9条基本的哲学准则和10条次要准则。第9章和第10章将Unix系统的设计思想与其他系统的设计思想进行了对比。最后介绍了Unix哲学准则在其他领域中的应用。
目 录
译者序 5
序言 6
前言 10
第1章 Unix哲学:集思广益的智慧 17
1.1 “非我发明”综合症 18
1.2 Unix的开发 19
1.3 Linux: 一个人加上一百万人的智慧 20
1.4 Unix哲学的概况 21
第2章 人类的一小步 24
2.1 “小即是美” 25
2.2 让软件工程变得轻松 27
2.2.1 小程序易于理解 27
2.2.2 小程序易于维护 28
2.2.3 小程序消耗的系统资源较少 28
2.2.4 小程序容易与其它工具相结合 29
2.3 对“昆虫(bug)”的研究 30
2.4 准则2:让每一个程序做好一件事情 30
第3章 快速建立原型的乐趣和好处 33
3.1 知识与学习曲线 34
3.1.1事实是,每个人有自己的学习曲线 34
3.1.2 大师们也知道,变化不可避免 35
3.1.3 为什么软件会被称为“软件”? 36
3.2 尽快建立一个原型 37
3.2.1 原型的建立是一个学习的过程 38
3.2.2 建立早期原型能够降低风险 38
3.3 人类创造的三种系统 38
3.4 人类的“第一个系统” 39
3.4.1 在背水一战的情况下,人类创建了“第一个系统” 39
3.4.2 他没有足够的时间将事情做好 39
3.4.3 人们独自开发出“第一个系统”,或最多也只是一小群人 40
3.4.4 “第一个系统”是一个“精简、中庸的计算机器” 41
3.4.5 “第一个系统”的概念可以激发他人的创造力 41
3.5 人类的“第二个系统” 42
3.5.1 “专家”使用“第一个系统”验证过的想法来创建“第二个系统” 42
3.5.2 “第二个系统”拥有一个设计委员会 43
3.5.3 “第二个系统”是臃肿和缓慢的 43
3.5.4 “第二个系统”被誉为是一个伟大的成就 44
3.6 人类的“第三个系统” 45
3.6.1 “第三个系统”由那些为“第二个系统”所累的人们创建 45
3.6.2 “第三个系统”通常涉及到对“第二个系统”的名称变更 45
3.6.3 最初的概念依然不变,它还是很明显 46
3.6.4 “第三个系统”结合了第一和第二系统的最佳特性 46
3.6.5 “第三个系统”的设计者时间充裕,足以将任务做好 46
3.7 Linux既是“第三个系统”,又是“第二个系统” 47
3.8 建立“第三个系统” 47
第4章 可移植性的高优先级 51
4.1 准则4:舍高效率而取“可移植性” 53
4.1.1 下_的硬件将会跑得更快 53
4.1.2 不要花太多时间去优化程序 54
4.1.3最高效的方法通常不具备可移植性 55
4.1.4 可移植的软件还减少了用户培训的需求 56
4.1.5 好程序永不消失——它们会被移植到新的硬件平台 56
4.2 准则5:采用纯文本文件来存储数据 59
4.2.1文本是一种常见的可转换格式 59
4.2.2文本文件易于阅读和编辑 60
4.2.3文本文件数据简化了Unix文本工具的使用 60
4.2.4 可移植性的增强克服了速度欠佳这一缺点 61
4.2.5速度欠佳这一缺点会被明年的机器克服 62
第5章 软件的杠杆效应! 65
5.1 准则六:充分利用软件的杠杆效应 67
5.1.1 好的程序员编写好的代码;伟大的程序员借用好的代码 67
5.1.2 避免“非我发明(NIH)综合症” 68
5.1.3 允许他人使用你的代码来发挥软件杠杆效应 70
5.1.4将一切自动化 71
5.2 准则7:使用shell脚本来提高杠杆效应和可移植性 72
5.2.1 Shell脚本带给你无与伦比的杠杆效应 73
5.2.2 Shell脚本还可以充分发挥时间的杠杆效应 75
5.2.3 Shell脚本比C程序更具有可移植性 76
5.2.4 抵制采用C语言来重写shell脚本的愿望 76
第6章 交互式程序的高风险 79
6.1 准则8:避免捕获性的用户界面(CUI) 81
6.1.1 CUI假定用户是人类 83
6.1.2 CUI命令解析器的规模总是很大,并难以编写 84
6.1.3 CUI倾向于采用“大即是美”的做法 85
6.1.4 拥有CUI的程序难以与其他项目相结合 85
6.1.5 CUI没有良好的扩展性 86
6.1.6 最重要的是,CUI无法利用软件的杠杆效应 86
6.1.7 “谁在乎CUI程序?人们都不愿意打字了” 87
6.2 准则9:让每一个程序都成为过滤器 88
6.2.1 自有计算技术以来,人们编写的每一个程序都是过滤器 88
6.2.2 程序不创建数据,只有人类才会创建数据 88
6.2.3 计算机将数据从一种形式转换成另一种形式 89
6.3 Linux环境:将程序作为过滤器使用 89
第7章 更多Unix哲学:十条小准则 92
7.1 允许用户定制环境 93
7.2 尽量使操作系统的内核小而轻巧 94
7.3 使用小写字母并尽量简短 95
7.4 保护树木 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哲学:综述 110
第9章 Unix和其他操作系统的哲学 114
9.1雅达利家用电脑:人类工程的艺术 115
9.2 MS-DOS:七千多万用户的选择不会错 118
9.3 VMS系统:Unix的对立面? 120
第10章 拨开重重迷雾:Linux与Windows 的比较 123
10.1这就是内容,傻瓜! 126
10.1.1视觉内容:“用我自己的眼睛去看” 127
10.1.2有声内容:“听得到吗?” 129
10.1.3文字内容:“视频可以终结广播明星,却消灭不了小报” 130
第11章 大教堂?多么怪异! 140
第12章 Unix的勇敢新世界 149
关于作者 164
《探索式软件测试》任命软件测试人员,OA专家、开发人员、程序经理和架构师阅读,对他们的工作具有重要的启发作用。探索式软件测
《JSP设计》(第3版)自1999处JSP1.0发布以来,JavaServerPages(JSP)可谓掀起了一场风暴,其追随者蜂拥而至。JSP为企业Java开发...
《我的前半生》内容简介:一生“做了四次皇帝”的溥仪 亲述清朝覆亡史、民国兴衰史、共和国兴盛史 比清宫剧更细致,比历史书更生动
Access数据库管理软件是一套集数据管理、程序开发功能于一体的高级办公软件,是特别适合普通办公人员进行日常工作的有力助手。本
Offeringabroad-basedreviewofthefactorsaffectingthedesign,assemblyandbehaviourofb...
人因学作为一门新兴的学科,在当今工业设计领域越来越受重视,这本《人因工程学导论》的主要意图是对人因学原理进行清楚直观的说
苹果热门产品“i”系列的创意鼻祖乔布斯御用17年的广告狂人一旦做到了简洁,你将无所不能。——史蒂夫·乔布斯对史蒂夫·乔布斯来
潛入!圖解王久恆啟一的圖解教室!在日本,有「職場圖解王」稱號的久恆啟一,本書中首度公開他在圖解教室裡,如何指導學生「自己
《天下美食》内容简介:从美食延伸到人文历史记忆,于平淡中见真情,体现一代学者的知识分子情怀 著名学者丁帆美食人文笔记。作者从
模型制作基础手册 内容简介 本书可以作为建筑、景观建筑、室内设计以及其他相关专业的学生所使用的初级读物。其他一些人,例如,戏剧学学生、历史学家和考古学家等,也会...
《Python人工智能项目实战》内容简介:本书可帮助你结合深度学习和强化学习来构建智能而且实用的基于人工智能的系统。本书涉及的项
《家装设计速通指南·色彩搭配详解》内容简介:色彩搭配是家装设计的重要环节。本书以基本色彩理论为基础,深入浅出地阐述了色彩对
《上古夏商周》内容简介:这是《装在口袋里的爸爸》衍生系列作品,是独立于文字版和漫画版之外的全新历史小说,讲述了这样的故事:
《企业品牌管理案例》内容简介:本教材将通过解剖案例的方式,阐述企业品牌管理中的诸多知识点,涉及品牌的概念与要素、品牌战略定
《深入分析GCC》内容简介:本书将围绕GCC编译过程,详细介绍从源代码到AST、从AST到GIMPLE、从GIMPLE到RTL,以及从RTL到最终的目标
Computabilityandcomplexitytheoryshouldbeofcentralconcerntopractitionersaswellast...
《JavaEE设计模式:Spring企业级开发最佳实践》结合Spring框架讲解了JavaEE设计模式,主要介绍了JavaEE应用程序设计和Spring框架的
《中国版权年鉴2018》内容简介:本书全面记录了2017年中国版权事业的发展状况,系统反映了我国版权管理保护工作的概貌,详实收载了
《关乎天下:中小企业赢的秘诀》内容简介:一家企业如何才能活得下去且做得长久?作者认为,“先有道,后有谋,再配人才阵势,天下
《心理学与微表情微反应》内容简介:微表情,就是持续时间很短的面部表情,大概只有1/25秒,它一闪即逝,很难伪装,很容易暴露一个