图灵程序设计丛书

Linux/Unix设计思想

Mike Gancarz (作者) 漆犇 (译者)
终止销售
本书将Linux 的开发方式与Unix 的原理有效地结合起来,总结出Linux与Unix 软件开发中的设计原则。前8 章分别介绍了Linux 与Unix 中9 条基本的哲学准则和10 条次要准则。第9 章和第10 章将Unix 系统的设计思想与其他系统的设计思想进行了对比。最后介绍了Unix 哲学准则在其他领域中的应用。
本书适合所有Linux 与Unix 操作系统的开发人员阅读,其他系统的开发人员也会从书中阐释的准则中获益。

七夕,请赐予我无双智慧吧!

购买电子书输入优惠码:七七,即享77折,28日后许愿无效。

期间,仅图灵自产图书听从召唤。

纸质书
¥39.00

其他购买方式?

出版信息

  • 书  名Linux/Unix设计思想
  • 系列书名图灵程序设计丛书
  • 执行编辑关于本书的内容有任何问题,请联系 朱巍
  • 出版日期2012-03-30
  • 书  号978-7-115-26692-7
  • 定  价39.00 元
  • 页  数192
  • 开  本16开
  • 出版状态终止销售
  • 原书名Linux and the Unix Philosophy
  • 原书号978-1555582739

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的最新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

本书特色

剖析Linux/Unix制胜之道
全新阐释开源哲学
Jon ”maddog” Hall作序推荐

目录


[译者序](http://www.wking-china.com/article/1214)

[序](http://www.wking-china.com/article/1215)

[致谢](http://www.wking-china.com/article/1216)

[引言](http://www.wking-china.com/article/1217)

目    录

[第1章  Unix哲学:集思广益的智慧    1](http://www.wking-china.com/article/1222)

- [1.1  NIH综合征    2](http://www.wking-china.com/article/1222)

- [1.2  Unix的开发    2](http://www.wking-china.com/article/1219)

- [1.3  Linux:一个人加上一百万人的智慧    4](http://www.wking-china.com/article/1220)

- [1.4  Unix哲学概述    5](http://www.wking-china.com/article/1221)

[第2章  人类的一小步    9](http://www.wking-china.com/article/1222)

- [2.1  准则1:小即是美    10](http://www.wking-china.com/article/1222)

- [2.2  简化软件工程    12](http://www.wking-china.com/article/1223)

- [2.2.1  小程序易于理解    12](http://www.wking-china.com/article/1223)

- [2.2.2  小程序易于维护    13](http://www.wking-china.com/article/1224)

- [2.2.3  小程序消耗的系统资源较少    14](http://www.wking-china.com/article/1225)

- [2.2.4  小程序容易与其他工具相结合    15](http://www.wking-china.com/article/1226)

- [2.3  关于“昆虫”的研究    16](http://www.wking-china.com/article/1227)

- [2.4  准则2:让每一个程序只做好一件事    16](http://www.wking-china.com/article/1229)

[第3章  快速建立原型的乐趣和好处    19](http://www.wking-china.com/article/1230)

- [3.1  知识与学习曲线    19](http://www.wking-china.com/article/1230)

- [3.1.1  事实上,每个人有自己的学习曲线    20](http://www.wking-china.com/article/1231)

- [3.1.2  大师们也知道,变化不可避免    21](http://www.wking-china.com/article/1232)

- [3.1.3  为什么软件会被称为“软件”    21](http://www.wking-china.com/article/1233)

- [3.2  准则3:尽快建立原型    23](http://www.wking-china.com/article/1234)

- [3.2.1  原型的建立是学习的过程    24](http://www.wking-china.com/article/1234)

- [3.2.2  建立早期原型能够降低风险    24](http://www.wking-china.com/article/1234)

- [3.3  人类创造的三个系统    25](http://www.wking-china.com/article/1235)

- [3.4  人类的“第一个系统”    26](http://www.wking-china.com/article/1236)

- [3.4.1  在背水一战的情况下,人类创建了“第一个系统”    26](http://www.wking-china.com/article/1236)

- [3.4.2  没有足够的时间将事情做好    26](http://www.wking-china.com/article/1236)

- [3.4.3  “第一个系统”是单枪匹马或是一小群人开发的    26](http://www.wking-china.com/article/1237)

- [3.4.4  “第一个系统”是一个“精简、其貌不扬的计算机器”    27](http://www.wking-china.com/article/1238)

- [3.4.5  “第一个系统”的概念可以激发他人的创造力    28](http://www.wking-china.com/article/1238)

- 3.5  人类的“第二个系统”    29

- 3.5.1  “专家”使用“第一个系统”验证过的想法来创建“第二个系统”    29

- [3.5.2  “第二个系统”是由委员会设计的    30](http://www.wking-china.com/article/1240)

- [3.5.3  “第二个系统”臃肿而缓慢    31](http://www.wking-china.com/article/1241)

- [3.5.4  “第二个系统”被大张旗鼓地誉为伟大的成就    32](http://www.wking-china.com/article/1242)

- 3.6  人类的“第三个系统”    32

- 3.6.1  “第三个系统”由那些为“第二个系统”所累的人们创建    32

- 3.6.2  “第三个系统”通常会改变“第二个系统”的名称    33

- 3.6.3  最初的概念保持不变并显而易见    33

- 3.6.4  “第三个系统”结合了“第一个系统”和“第二个系统”的最佳特性    34

- 3.6.5  “第三个系统”的设计者有充裕的时间将任务做好    34

- 3.7  Linux既是“第三个系统”,又是“第二个系统”    34

- 3.8  建立“第三个系统”    35

[第4章  可移植性的优先权    39](http://www.wking-china.com/article/1243)

- [4.1  准则4:舍高效率而取可移植性    40](http://www.wking-china.com/article/1243)

- [4.1.1  下一……的硬件将会跑得更快    41](http://www.wking-china.com/article/1245)

- [4.1.2  不要花太多时间去优化程序    42](http://www.wking-china.com/article/1246)

- [4.1.3  最高效的方法通常不可移植    43](http://www.wking-china.com/article/1247)

- [4.1.4  可移植的软件还减少了用户培训的需求    45](http://www.wking-china.com/article/1248)

- [4.1.5  好程序永不会消失,而会被移植到新平台    45](http://www.wking-china.com/article/1248)

- 4.2  准则5:采用纯文本文件来存储数据    48

- 4.2.1  文本是通用的可转换格式    49

- 4.2.2  文本文件易于阅读和编辑    49

- 4.2.3  文本数据文件简化了Unix文本工具的使用    49

- 4.2.4  可移植性的提高克服了速度的不足    51

- 4.2.5  速度欠佳的缺点会被明年的机器克服    52

第5章  软件的杠杆效应    55

- 5.1  准则6:充分利用软件的杠杆效应    57

- 5.1.1  良好的程序员编写优秀代码,优秀的程序员借用优秀代码    57

- 5.1.2  避免NIH综合征    58

- 5.1.3  允许他人使用你的代码来发挥软件杠杆效应    61

- 5.1.4  将一切自动化    62

- 5.2  准则7:使用shell脚本来提高杠杆效应和可移植性    64

- 5.2.1  shell脚本可以带来无与伦比的杠杆效应    65

- 5.2.2  shell脚本还可以充分发挥时间的杠杆效应    67

- 5.2.3  shell脚本的可移植性比C程序更高    68

- 5.2.4  抵制采用C语言来重写shell脚本的愿望    69

第6章  交互式程序的高风险    72

- 6.1  准则8:避免强制性的用户界面    74

- 6.1.1  CUI假定用户是人类    76

- 6.1.2  CUI命令解析器的规模庞大且难以编写    77

- 6.1.3  CUI偏好“大即是美”的做法    78

- 6.1.4  拥有CUI的程序难以与其他项目相结合    79

- 6.1.5  CUI没有良好的扩展性    80

- 6.1.6  最重要的是,CUI无法利用软件的杠杆效应    80

- 6.1.7  “CUI有什么关系?人们都不愿意打字了。”    81

- 6.2  准则9:让每一个程序都成为过滤器    82

- 6.2.1  自有计算技术以来,人们编写的每一个程序都是过滤器    82

- 6.2.2  程序不创建数据,只有人类才会创建数据    83

- 6.2.3  计算机将数据从一种形式转换成另一种    84

- 6.3  Linux环境:将程序用作过滤器    84

[第7章  更多Unix哲学:十条小准则    88](http://www.wking-china.com/article/1249)

- [7.1  允许用户定制环境    89](http://www.wking-china.com/article/1250)

- [7.2  尽量使操作系统内核小而轻量化    90](http://www.wking-china.com/article/1251)

- [7.3  使用小写字母并尽量简短    91](http://www.wking-china.com/article/1252)

- 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和其他操作系统的哲学    113](http://www.wking-china.com/article/1253)

- [9.1  雅达利家用电脑:人体工程的艺术    114](http://www.wking-china.com/article/1254)

- 9.2  MS-DOS:七千多万用户的选择不会错    117

- 9.3  VMS系统:Unix的对立面    119

[第10章  拨开层层迷雾:Linux与Windows的比较    123](http://www.wking-china.com/article/1255)

- 10.1  内容为王,傻瓜    126

- 10.1.1  视觉内容:“用自己的眼睛去看。”    128

- 10.1.2  有声内容:“听得到吗?”    129

- 10.1.3  文字内容:“视频可以终结广播明星,却消灭不了小报。”    131

第11章  大教堂?多怪异    143

第12章  Unix的美丽新世界    153








相关文章

  • 武卫东 4推荐

    何谓Unix哲学?

    9条主要准则—— 1)小即是美 2)让每一个程序只做好一件事情 3)尽快建立原型 4)舍高效率而取可移植性 5)使用纯文本文件来存储数据 6)充分利用软件的杠杆作用 7)使用shell脚本来提高杠杆作用和可移植性 8)避免强制性的用户界面 9)让每一个程序都成…...

  • 谢工在百度 8推荐

    诚邀加入图灵技术图书专家审读小组——第二期审读图书发布

    在图灵编辑出版流程中,有“专家审读”这个环节,“专家审读”即是以专业读者身份阅读全书,并修正之前环节未检查出的问题。事实上证明,这个环节有效地保证了书籍质量。 2012年2月,第二批需要审读的图书有二本: (1) [思考的乐趣:Matrix67数学笔记][1] ...

  • dayanday 6推荐

    [TEAP早期试读]Linux: 一个人加上一百万人的智慧

    图灵社区按: TEAP是什么?TEAP是Turingbook Early Access Program的简称,即早期试读,它公布的是图灵在途新书未经编辑的内容。一本书的翻译周期约为3到6个月,如果在翻译过程中,译者就能与读者进行沟通和交流,对整本书的翻译品质是有帮助的。通过T…...

  • veldts 9推荐

    [转] Linux and the Unix Philosophy第二章部分译文

    本译文取自浙大BBS飘渺水云间,[原文地址][1];译者pegasus的BBS帐号已注销,无法联络,本转载未征得原译者同意,仅供学习参考。 【 以下文字转载自 LinuxApp 讨论区 】 【 原文由 pegasus 所发表 】 试着翻译一个小节,不足之处希望多提建议。如…...

  • 何逸勤 7推荐

    好书短评之《Linux/Unix设计思想》

    “参照国外读者的评价,找到你需要的书。”在你决定购买本书之前,本栏目将努力向读者朋友们呈现公正客观的评价。 如果你发现这是本好书,请不要忘记收藏。 5星评价,Gancarz真是个哲学家 by K. Karagianni(希腊) 本书出色地阐述了开源革命的重要性,这是我给…...

  • 杨帆 7推荐

    对话Unix/Linux传教士——Mike Gancarz

    传教士指的是那些坚定地信仰某一宗教,并且不遗余力地人们传播此宗教的修道者。Mike Gancarz就是这样一位“传教士”。他是Unix/Linux的倡导者,也是最早开发出X窗口系统的先驱。 这些年,Linux社区有一些不同寻常的迹象,Unix的世界也正流淌着一股新鲜的活力…...

  • dayanday 8推荐

    《Linux/Unix设计思想》作者Mike Gancarz:Linux/Unix哲学的印证(图灵访谈)

    图灵访谈之十八:专访Mike Gancarz 20年前,X Window System的开发者Mike Gancarz将Unix社区普遍认同的一些准则整理成Unix Philosophy,让GNU/Linux等后来者能站到巨人的肩膀上。10年前,这本书的第二版Linux/U…...

  • dayanday 6推荐

    [TEAP早期试读]《Linux/Unix设计思想》之: 大教堂?多怪异

    图灵社区按: TEAP是什么?TEAP是Turingbook Early Access Program的简称,即早期试读,它公布的是图灵在途新书未经编辑的内容。一本书的翻译周期约为3到6个月,如果在翻译过程中,译者就能与读者进行沟通和交流,对整本书的翻译品质是有帮助的。通过T…...

  • 出版圈郭志敏 6推荐

    为什么软件会被称为“软件”

    软件工程比任何其他工程学科都更需要返工,因为软件涉及到抽象概念。如果准确描述硬件都会有困难的话,那可以想象一下人们形容那些只存在于脑海里的想法或芯片中电流的传导模式该是多么困难。我一下就想到了一句格言:“入此门者,莫存希望”(Abandon all hope, all ye w…...

  • 出版圈郭志敏 14推荐

    《Linux/Unix 设计思想》的翻译细节讨论

    作者:林健 文章来自:[http://www.wking-china.com/xpjylc/articles/linux-unix-philosophy-translation/][1] 近日我在反思一些系统设计问题,本想重读一遍《Unix 编程艺术》,后来在书店不经意发现了一本刚刚出版的[《…...

  • 何逸勤 5推荐

    [英]《Linux/Unix设计思想》作者Mike Gancerz:Linux/Unix哲学的印证(图灵访谈)

    图灵访谈之十八:专访Mike Gancerz 20年前,X Window System的开发者Mike Gancerz将Unix社区普遍认同的一些准则整理成Unix Philosophy,让GNU/Linux等后来者能站到巨人的肩膀上。如今,基于Unix思想体系的Linux…...

  • 梁涛 2推荐

    [心得] UNIX分层设计

    UNIX分层设计是其哲学体系的集中体现,理解其指导思想有助于拓展其它复杂系统的设计思路。 我对UNIX整个设计层次理解如下: =------------------------------------------------------------- 二进制:硬件(CPU、内…...

  • 梁涛 6推荐

    [心得] 管道的精妙

    要论UNIX最为出色和经久耐用的设计,多数人都会同意将该荣誉授予统一文件系统架构。正是这一思想层面的统一概念奠定UNIX包罗万象、兼容并蓄的核心基础,才称得上最具可移植性的系统。 但UNIX为用户提供的另一精妙设计——管道——则彻底释放软件的真正威力。如果说文件系统决定了信息…...

  • 黄炎雷 1推荐

    [书呆子]像Unix那样去生活——《LInux/Unix设计思想》

    昨天图文转换率历史最低,我重新看了下昨天的那篇《搜商》,可能内容太过小众了,所以决定压缩“多元搜索”的知识,配合一些实用的工具做个案例… ...

  • 六年前还在读研时,有人在校内bbs上翻了几篇,译得很好,不知这次中文版效果如何。
    veldts  发表于 2011-10-23 14:01:31
    • 当时的译稿还能找到吗?谢谢!

      何逸勤  发表于 2012-01-30 17:28:11
    • 我找找看。

      veldts  发表于 2012-01-30 17:53:02
    • 转了第二章部分译文:http://www.wking-china.com/article/974

      veldts  发表于 2012-02-01 22:12:48
  • 作为译者,心里当然也有些忐忑,个人觉得是用心在翻的。当然,好不好还是要等书出来以后看大家的评价吧,希望多提宝贵意见,让我自己也能有进步的空间,先谢过了,:)
    dayanday  发表于 2011-10-25 15:59:06
    • 你也翻译Gayle Laakmann McDowell的2本书?我就等这两本,加油哦!

      旁观者  发表于 2012-03-30 17:05:45
    • 是的,谢谢鼓励,:)

      dayanday  发表于 2012-04-06 08:08:24
  • 这本书我比较期待。
    2gua  发表于 2011-10-21 15:24:11
    • 212121

      liuxuejin  发表于 2012-04-09 23:49:30
  • 为嘛 名字叫 思想?
    白龙  发表于 2011-10-25 00:38:56
    • 叫哲学怕把人吓跑。

      武卫东  发表于 2011-11-16 21:43:39
    • 理念也可吧,是不是太文艺了

      veldts  发表于 2012-01-30 17:52:47
  • 和Unix编程艺术比咋样?
    流星在线  发表于 2011-11-03 11:42:40
    • 看过才知道

      morton  发表于 2012-03-09 12:00:22
  • 有多少人阅读过这本书呢
    liuxuejin  发表于 2012-04-09 23:35:43
    • 买了正在读。

      魔力猫  发表于 2012-05-04 09:49:56
  • 作者的观点有些不对
    闭源不好?怎么oracle和苹果商业上大获全胜
    很多小程序,怎么共享代码?比如电子邮件,把write send get del全做成一个还是4个更方便?
    lt  发表于 2012-04-17 12:21:59
    • 商业上赢并不等于一切。而且Oracle和苹果从开源中获取的东西可是非常多的,可以说没有开源做基础。这两家也不会取得这么大的成功。没有Unix,Mac OS X根本就不存在。
      你有学习过Unix系统吗?任何一个标准的Unix程序,都可以通过管道进行输入和输出。专心做自己,只考虑输入和输出,别的不用想。write send get del你做成4个,可以反复组合,应付不同的情况。你做成1个,则只能适应一种情况。

      魔力猫  发表于 2012-05-04 09:49:34
  • 我对《Linux/Unix 设计思想》的翻译细节讨论,请译者和编辑指证。 http://www.wking-china.com/xpjylc/articles/linux-unix-philosophy-translation/
    sswv  发表于 2012-05-02 23:05:18
    • 谢谢细致的意见,确实指出了不少值得改进的地方。

      何逸勤  发表于 2012-05-06 17:50:16
    • 恩,再次感谢您的用心点评……

      dayanday  发表于 2012-05-17 02:54:09
  • 这本书我比较期待。
    2gua  发表于 2011-10-21 15:24:34
  • 大学时捣鼓了两年Linux系统,现在在研究Hadoop实战,列入读书计划。
    格瑞图  发表于 2012-02-11 11:56:17
  • 还是挺想看这本书的
    monkeyotta  发表于 2012-04-24 14:43:25
  • 期待着本书,进入阅读计划。
    江曦  发表于 2012-04-24 21:49:57
  • 刚到手,不知道好不好
    yourihua  发表于 2012-05-11 20:28:55
  • 正在阅读,书里有些思想挺有启发性的。
    cpp255  发表于 2012-05-16 13:27:19
  • 正在看,很简洁,也算是linux/unix keep it simple and stupid思想体现吧
    zhpengg  发表于 2012-06-05 14:07:16
合作: 现金赌球 88娱乐 新葡京娱乐场