《Unix 编程艺术》 第十八章 文档
本节描述了 Unix 对于文档风格的偏爱,其并不倾向于所见即所得的文档,而更喜欢以标记为中心的工具。
《Unix 编程艺术》 第十七章 可移植性
移植性一直是 Unix 的主要优势。Unix 程序员往往设想硬件是易变的,只有 Unix API 本是稳定的。
Unix 程序员往往尽量避免软件依赖于某种特殊易逝的技术, 而严谨地遵循开放标准。这
种考虑可移植性的编码习惯在 Unix 传统中根深蒂固,甚至应用于那些一次性小型单用途
的代码中。
可移植性最直接的效益是工具和应用程序无需每隔几年就重写,因为 Unix 软件比起原生的硬件平台来得长久, ...
猪小兵的故事
本故事取自 《Unix 编程艺术》 第 16 章,故事描述了一个叫猪小兵的程序员在开发者的痛苦,进而引出了软件公司对于重用代码的矛盾复杂的情节,并得出要关注软件重用的结论。
《Unix 编程艺术》 第十六章 重用
不愿做不必要的工作是程序员的一大美德。
和其它耗在软件开发的花费比起来,时间无疑是最宝贵和最有价值的: 所以相应地,该耗费在解决新问题,而不是对那些已存在确切解决方案的问题老调重弹。这种态度对于开发投入来说,无论是在人员资本的“软”含义,还是在投资经济收益的“硬”含义都可以收到最好的回报。
重新发明轮子之所以糟糕不仅因为浪费时间,还因为它浪费的时间往往是平方级。走捷径往往产生粗糙、未经思考的版本 ...
《Unix 编程艺术》 第十五章 工具
本章介绍 Unix 中使用的工具,如版本控制,Makefile,Profiling 等工具。
《Unix 编程艺术》 第十四章 语言
Unix 上运行的语言种类完全可能超过计算史上其它所有操作系统的总和,本节介绍了 Unix 中部分语言的特征,以及该语言在何种情况下合适,哪种情况下不合适。
《Unix 编程艺术》 第十三章 复杂度
在第 1 章 哲学 末,将 Unix 的哲学概括为“KeepItSimple,Stupid!”。贯穿整个“设计”部分的不变主题就是尽可能保持简单设计的重要性。但什么是“尽可能的简单”?又如何断定?
本章并不是简单地尝试给出这些问题的答案,因为根本没有答案一一而是希望读者能够在概念上有所收益,从而挖掘出自己的答案。
#13.1 谈谈复杂度
#13.1.1 复杂度的三个来源
Unix 程序员追求简单的 ...
《Linus on Kernel Management Style》 翻译
Linux 写的一篇关于 Linux 内核管理风格的文章,辛辣,又有见地,非常 Linus 个人风格的一篇文章。原文用的一些语句很微妙,虽然我已经尽可能的让翻译更通顺,但感觉失去了原文的一些风采,所以可能的话,去读原文吧。
《Unix 编程艺术》 第十二章 优化
这将是很短的一章,因为关于性能优化,Unix 的经验告诉我们最主要的就是如何知道何时不去优化。其次,最有效的优化往往是优化之外的其它事情,如:清晰干净的设计。
#12.1 什么都别做,就站在那儿
程序员工具箱中最强大的优化技术就是不做优化。
有几个理由支持这项禅式的忠告。其中一个是摩尔定律的指数效应一一最聪明、最便宜、常常也是最迅速的性能提升方法,就是等上几个月,期望硬件性能更好。
考虑到硬件和 ...
《Unix 编程艺术》 第十一章 接口
在 Unix 接口设计的传统中,会反复涉足两个主题:
与其他程序通信方式的前瞻性设计
通俗原则:接口设计避免标新立异,也可称为最小立异原则
#11.3 接口设计评估
这里的接口,指的并非是代码的 interface 而是 UI
Unix 使用五种度量标准对接口风格进行分类:
简洁:一个事务处理需要的动作时间及复杂度有较低的上限,可以用点击键量,鼠标手势量和需要多少秒注意力来衡量
表现力:接 ...