下载后可任意编辑UNIX 程序设计艺术1、前言UNIX 系统与其说是一操作系统,不如说是一口述史
-- Neal Stephenson在学问和专门技术之间存在天壤之别
学问让你推演去做正确的事情;专门技术构成正确的事情的一种习惯性思维,几乎根本不需要有意识的去思考
这本书里面有大量的学问,但是它主要是关于专门技术的
它将会设法教你 UNIX 专家所知道的关于 UNIX 开发的事情,而不是意识到他们所知道的
因此,比起大部分UNIX 书,它是较少关于技术的,并且更多的是关于共享的文化-显示和隐式的文化,有意识和无意识的传统
它不是一本“怎样去做”的书,而是一本“为什么这样做”的书
为什么这样做有重大的实际的重要性,因为太多的软件被拙劣的设计
它们中的大部分遭受了膨胀,维护起来是极度地困难,并且太困难而不能移植到新的平台上或以最初的程序员没有预料到的方式扩展
这些问题是糟糕的设计的征召
我们希望这本书的读者将会学到 UNIX 必须教授的关于好的设计方面的东西
这本书被划分成四个部分:背景,设计,工具集,和社区
第一部分 (背景)是哲学和历史,帮助为接下来所述各种的东西提供基础和激励
第二部分(设计)展开 UNIX 哲学的原则进入到关于设计和实现的更细节的建议
第三部分(工具集)集中在 UNIX 为帮助你解决问题所提供的软件
第四部分(社区)是关于那些使 UNIX 文化在它所涉及的方面如此高效的人与人的交往和协定
因为这本书是关于共享文化的,我从未计划单独写它
你将会注意到这些文字包含了来自杰出的 UNIX 开发者,UNIX 传统的塑造者的特约发表
在我邀请这些权威者来评论和讨论这些文字的期间,这本书经受了一个长期的公开的审核过程
在这本书的最终版本中,不仅覆盖了那个审核过程的结果,这些佳宾也被鼓舞用他们自己的语态说话,引申和衍变,甚至和这些文字的主线不一致
在这本书中,当我使用