Linux/Unix设计思想

出版时间:2012-3-28  出版社:人民邮电  作者:甘卡兹  译者:漆犇  
Tag标签:无  

内容概要

作为开发unix多年的专家,mike
gancarz曾说过:“要想成为计算机的主人,而不是它的奴隶,你就应该使用linux!”有别于市面上的其他关注如何使用linux的书籍,这《linux/unix设计思想》讲述的是“linux的思维方式”,揭示了linux正是unix这一无所不能的操作系统的完美实现。到目前为止,没有一《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)令数以万计的技术人员受益。

书籍目录

第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的美丽新世界  

章节摘录

Unix哲学:集思广益的智慧这个世纪的哲学会成为下一个世纪的常识。——中国幸运饼干 许多人都将发明Unix操作系统的殊荣授予AT&T公司的Ken Thompson,从某种意义上来说,他们是对的。1969年在新泽西州美利山AT&T公司的贝尔实验室,Thompson编写出了Unix的第一个版本。它作为Space Travel程序的平台运行在Digital PDP-7小型机上。此前,Space Travel程序运行在由麻省理工学院开发的Multics系统上。Unix的开发基于Multics系统,后者属于最早的一批分时操作系统。在Multics开发之前,大多数计算机操作系统都运行在批处理模式下,这迫使程序员们要去编辑大堆的打孔卡片或纸带。在那些日子里,编程是一个耗时费力的过程。当时有一句流行语是:“上帝帮帮那些打翻了打孔卡片盒的傻瓜吧。”干过卡片机编程的人都懂。Thompson借鉴了Multics的许多特性,并将它们融入到早期的Unix版本,其中最主要的特点就是分时处理。如果没有这种特性,那些在当前Unix系统或是其他操作系统上被人们视作理所当然的大部分功能,就会失去它们真正的力量。Thompson的开发工作从借鉴Multics的想法入手,对于Unix开发人员而言,这样的套路可谓是驾轻就熟:良好的程序员写出优秀的软件,优秀的程序员“窃取”优秀的软件。当然,我们并没有暗示Thompson是一个小偷。但正是他这种在某些方面避免NIH(Not Invented Here,非我发明)综合征的意愿和基于别人的成果添加颇具创造性价值的做法,大力推动了这一款或许是历史上最精巧操作系统的出台。我们还将在后面探讨“窃取”软件的意义。现在只需要记住,将一个想法与人共享就如同一个大脑里有了两个想法。1.1 NIH综合征软件开发人员经常会受到NIH综合征的影响。在查看别人编写的软件解决方案时,他认为自己完全可以做得更好。也许他真的能更为痛快利落地完成这项工作,但他并不知道别的开发人员当时面临的限制条件。他们可能迫于时间或预算的压力,于是,只能集中精力处理这个解决方案中的某些特定部分。

媒体关注与评论

   Linux和GNU项目的理念表面上是Unix哲学的下一个发展阶段,实际上它只是生生不息的Unix的强势回归。The Unix Philosophy第一版中阐述的准则至今仍确切无误,甚至得到更多的佐证。开源除了可以让你清楚地了解到这些编程大师们创建系统的方式,还可以激励你去创建更快、更强大的系统。   ——Jon “maddog” Hall Linux国际协会,执行理事   Gancarz有效地结合了Unix本身的准则和Linux开发社区中使用的Unix准则,对开源哲学进行了全新的阐释。   ——Henry L. Hall

编辑推荐

《Linux\Unix设计思想/图灵程序设计丛书》编辑推荐:剖析Linux/Unix制胜之道全新阐释开源哲学Jon”maddog”Hall作序并推荐!

图书封面

图书标签Tags

评论、评分、阅读与下载


    Linux/Unix设计思想 PDF格式下载


用户评论 (总计87条)

 
 

  •   阐述了linux/unix的哲学思想和设计理念:简单就是美
  •   很好一本书,有助于理解Unix/Linux的设计思想,想玩Linux的人可以看看。
  •   除去感觉有些过分夸赞unix部分外,整体的哲学思想很好…很受用
  •   不管是因为喜欢linux的独特和炫酷,或是彻底厌恶了瘟都死的做事方式而使用linux,一直都无法说明白linux的优越之处。直到完成全书的阅读,你便会明白是体系的优越,指导思想的优越,这是花哨的外表和高超的技巧也无法超越的!
  •   linux 思想的入门级教材,很好用
  •   书质量和内容都不错。不过此书不是用来学linux技术的书。NOTICE。
  •   内容很不错,站在巨人的肩膀上看linux
  •   即使不用linux也应该读读
  •   在深入学习Linux之前看,非常有帮助!
  •   本书讲的是宏观的设计思想,哲学范很足。支持开源!
  •   适合软件开发工作至少2年的人看,会重塑自己的开发理念
  •   朋友推荐的,就看了下,该书以讲故事的形式,写出了设计思想,通俗易懂,很好,赞一个
  •   薄薄的一本,充满哲学思想,值得学习思考。
  •   极为经典的哲学思想。
  •   无论在哪个领域哲学永远是不会过时的。
  •   这些思想应该被更广泛的使用,遵守~
  •   超赞的书,无论是从计算机方面还是从哲学方面考虑,都超完美的!
  •   软件的哲学永不过时
  •   挺不错的一本书,IT人员有时间休息时看看,不错的选择。
  •   还没看 头推荐的 应该不错
  •   本书是同事推荐的,内容不错。但是收益因人而异吧。
  •   书还可以,适合有多年经验的人读。
  •   全是文字性的介绍,书很薄,内容一般
  •   实践操作一段时间后,看这类书很能提高内功的
  •   很实用,适合入门学者
  •   理论结合实践,实用性强
  •   读了一遍感觉确实不错!
  •   这本书要慢慢看,看完一遍过段时间再看又有新的感觉
  •   当然也是经典
  •   觉得一般,内容重复。
  •   应该不错,大家都说好
  •   翻了翻,感觉值得一看
  •   很经典的书,有哲理
  •   很专业,内容也很充实
  •   朋友买的,说 不错
  •   喜欢,还在看。下次有这样的实惠,再来
  •   我就是买来看看一下的呀
  •   内容很详细,很不错,学到很多东西
  •   看了几页 感觉还好 继续看
  •   非常有指导意义的书,早点看到就可以避免犯很多错误了。
  •   新书,学习ing
  •   书虽然有点薄,但是读过之后发现,书之内容句句经典,精辟至极,让读我感受到一种一览众山小的意境。
  •   非常精辟。不爽的是书送过来后页折了!!!
  •   不错,正好需要这样的书
  •   这本书写的不错,比较薄,还没读完。这一次当当物流也比较给力,第二天就到了。所以说当当物流就像赌博,你搞不准,有时候快,有时候慢的人都没耐心了。
  •   翻译质量很差,估计译者自己都没看懂
  •     上个世纪的哲学成为这个世纪的常识。真是一部好书,言简意赅阐明大意。虽然未能一统桌面,但Linux在移动系统、云计算等新技术方面的成就确实光彩夺目。这部书的思想不止局限于操作系统,而且对编程思维也有很大裨益,非常值得码农一读。
    PS:书中有些小错误
  •   书里面介绍了通用Linux程序设计思想,有些借鉴意义。
  •   linux的哲学思想
  •   讲述linux哲学,不错的一本书
  •   对于Linux有了一些简单的认识。也对一些事情有一些看法。
  •   书不错可以好好了解一下linux
  •   这本书是用来体会的,哲学的探索是思想的磨练,需要时间,需要精力,更需要刻骨铭心的失败体验。
  •   技术系的哲学之道
  •   大辉推荐的书,还没有来得及仔细看,但是感觉一定不错。
  •   总体说不错,就是内容有点少了,不充足
  •   感觉内容不怎么,还没细看
  •   稍微看下写的挺通俗易懂的
  •   读了几十页,文字很通俗易懂。打了很多比方让读者理解。入门的好书!
  •   内容不错,书的纸质也不错,读起来很舒服
  •   尽管网上说的天花乱坠的好,我觉得一般吧,这种书需要反复的读
  •   还没看完,只看了一点点,和有点像。
  •   觉得作者把unix/linux中的一切都认为是好的 毫无瑕疵的。就如同对待宗教。但是事物都是在不断发展的。 以前觉得好的东西 现在也可能变的落后
  •   思想内容一般
  •   这本书的翻译非常好!但是书的内容有点儿啰嗦,车轱辘话来回说,170页的内容完全可以压缩到30页,虽然有启发,但没有期望中那么好。
  •   首先要说,看到此篇评论想购买此书的朋友,如果你没有读过ESR的_The Art of Unix Programming_(下简称TAOUP),那我建议你去买那一本而不是这一本,原因如下:1,内容:本书探讨的Linux和Unix设计思想,其全部(是的,全部)内容都出现在了TAOUP中。并且我认为,TAOUP的写作更好(这是个人观点,可以忽视)。2,作者:本书的作者是Mike Gancarz,而TAOUP的作者是ESR(是的,和RMS一样,有简称!)。我无意暗示谁的名气跟大谁的书就更好,但是就像如果你可以读到Knuth谈TeX,你绝应该认为有其他人会谈的更好。3,书本身:全书仅有160余页,相对超过30元的定价来说略显单薄,但还算合适。人邮的图灵系列一贯装帧质量不错,印刷,排版都不错;只不过纸张的显的过于白了,连续阅读一小时眼睛感觉有些酸痛。综上,如果你没有读过TAOUP,那么可以不买这本书。如果你想看看别家之言(或者对Unix哲学有无比的好奇或者热情),买来看看也无妨,一本小册子,三个小时足以,阅毕总有一种“这本书我好像读过的感觉”。
  •   道理很多,新颖的不多,作为补课教材还是可以的。但是整体废话比较多,而且翻译得不够美。
  •   翻译的不好,内容页比较空泛,就想其他人人说的那样,总觉的在哪看到过。对一见事情作者主观意念太强,教条主义.唯一可圈可点的是书的质量还不错,但是我们买书不是买这个的。
  •   也是比较理论得一本书,闲着翻翻还是不错的。
  •   这本书着重unix的设计思想,很多东西值得我们反复去琢磨,我觉得这本书在细节上涉及的不深入,需要自己的旁征博引
  •   有点空,不一定符合你的需求
  •   讲述了一些我们平时使用的工具的一些原理问题,比如通道什么什么的设计,所以合适于更深入的了解
  •   在中国,叫做道; 就是上升到哲学层面,首先你要有使命感!对他发自内心的热爱!通过反复的琢磨和磨练。完成自我的升华。这一点,真正的黑客都是哲学家!同时,这本书告诉我,要把你的脚弄脏! 需要真本事。简洁,实用,不追求完美。
  •   这本书的主题是我觉得好好理解的。把Linux/Unix这些优秀系统的设计思想融会贯通的话,不仅是技术上,在人生领悟方面也会受益匪浅。推荐一读
  •   里面的内容还是不错的,所讲的绝大部分都是比较有道理的,只是个别的地方作者有点偏激,纯粹的个人信仰。那些从windows转过来的人应该读一读,这样才知道如何更好的使用linux
  •   值得推荐的书籍,可能没有unix的那本更好!
  •   全书讲linux/unix的十大设计原则和十小设计原则。虽然重点不是与windows比较,但是几乎全部的思想都与windows不同。短小精悍,非常值得读。
  •   这本书做床头书翻翻即可,作者是从大敏捷和开源的角度去解读linux的设计而并非从技术角度,所以从中最多吸取一些好产品的设计经验. 另外作者的立场比较偏立,有些想法可能会和你有冲突.
  •   但不推荐买,因为你完全可以去借一本看看,看完就不用再看了。而且思想也不是这么容易学到的,还是得从实践中强化。
  •   只是简单的翻了翻还没仔细看不过只看目录还有语言风格蛮吸引我的一句话,喜欢。
  •   书还是很不错的,正在看.
  •   一下子买了几百块
  •   设计思想
  •   思维开阔了不少
  •   这么经典的讲Linux设计思想的书
  •   技术类的书籍
  •   liux 开源思想
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7