+ -
当前位置:首页 → 问答吧 →  【UNIX痛恨者手册】摘选

【UNIX痛恨者手册】摘选

时间:2011-07-31

来源:互联网


小的程序比正确的程序更好 
粗制滥造是可以接受的 
如果必须作出选择,选择责任最小的那个。


UNIX没有哲学,UNIX只有态度。这个态度指出简单的做了一半的工作比复杂完整的工作
更好。这个态度指出程序员的时间比用户的时间更为珍贵,即使用户比程序员要多得多
。这个态度指出达到最低要求就足够了。


/* you are not expected to understand this */ (/* 没指望你能明白 */)


标题:“无言UNIX”
对象:UNIX新手
简介:提供在没有文档条件下使用UNIX的通用策略。展示在没有文档条件下摸清任何操
作系统的通用原则。
内容:
介绍:“无文档”哲学简介 
为什么手册是恶魔 
为什么man手册是恶魔 
为什么你还是应该读这份文档 
“这将是你读的最后一份文档!”


和其他操作系统不同,Unix把bug供奉为标准操作。之所以那么多Unix bugs得不 
到修正,这里有个不可告人的原因——如果修正了,那么已有的一些程序就会死 
逼了。然而,荒唐的是,Unix程序员在增加新功能时却从来不去考虑向下兼容。


Unix程序员总是打着“这会破坏已有代码”的幌子,不愿意修正bug。可这里面 
还有内幕,修正bug不但会破坏已有代码,还必须修改简单完美的Unix接口,而 
这正是Unix教众们的命根子。至于这个接口是否工作,这并不重要。Unix教众们 
不去提出更好的接口,也不去修正bug,而是齐声高唱“Unix接口好简洁,好简洁。 
Unix接口就是美,就是美!Unix无罪!Unix有理!”。

不幸的是,绕过bug是个很恶劣的行为,它使得错误成为了操作系统规范的一部 
分。你越是等,就越难以修正,因为越来越多的程序会尽力绕过bug,以至于没 
有了bug反而活不了了。同理,修改操作系统接口带来的影响更大,因为更多的 
程序必须根据这个正确的新接口进行修改。(这解释了为什么ls有那么多的选项 
来完成几乎一样的工作)。

如果你把一只青蛙仍到开水里,它会马上跳出来。它知道开水很烫。可是,如果 
你把青蛙放到冷水里,再慢慢地加热,青蛙感觉不到什么,直到最后被烫死。

Unix接口已经开锅了。以前,输入/输出的全部接口只包括open, 
close, read和write。网络支持给Unix添了一大把柴禾。 
现在,至少有五种方法向一个文件句柄输入数据:write, 
writev, send, sendto和sendmsg。每个都在内 
核中有不同的实现,这意味着有五倍的可能出现bug,有五种不同的性能结果需 
要考虑。读文件也一样(read, recv, recvfrom和 
recvmsg)。等死吧,青蛙们。


“如果说C语言给了你足够的绳子吊死自己,那么C++给的绳子除了够你上 
吊之外,还够绑上你所有的邻居,并提供一艘帆船所需的绳索。” 



UNIX痛恨者手册

这才是真正的Unix啊,哈哈

作者: kltwjt   发布时间: 2011-07-31

如果说C语言给了你足够的绳子吊死自己,那么C++给的绳子除了够你上 
吊之外,还够绑上你所有的邻居,并提供一艘帆船所需的绳索。

作者: steptodream   发布时间: 2011-07-31

作者: jsjygm   发布时间: 2011-07-31