当前位置: 技术问答>linux和unix
不明白unix的一条哲学
来源: 互联网 发布时间:2017-03-05
本文导语: 最近在看《Linux/Unix设计思想》,其中10条次要准则之一是: (5) 沉默是金。在需要提供出错信息的时候,Unix命令是出了名地喜欢保持沉默。虽然很多经验丰富的Unix用户认为这是可取的做法,可其他操作...
最近在看《Linux/Unix设计思想》,其中10条次要准则之一是:
(5) 沉默是金。在需要提供出错信息的时候,Unix命令是出了名地喜欢保持沉默。虽然很多经验丰富的Unix用户认为这是可取的做法,可其他操作系统的用户却并不认同此观点。
为何不提供详细的出错的信息呢?我对此不是很理解。
(5) 沉默是金。在需要提供出错信息的时候,Unix命令是出了名地喜欢保持沉默。虽然很多经验丰富的Unix用户认为这是可取的做法,可其他操作系统的用户却并不认同此观点。
为何不提供详细的出错的信息呢?我对此不是很理解。
|
主要是时代的限制,早期unix为了简化设计,减少资源占用,将错误信息最小化,最典型的例子就是C语言编译器,将lint作为一个独立的程序,C编译器只提供最小化的警告
这导致了什么?直接导致了C语言程序中许多开发阶段就能定位到的错误,留到了维护阶段才发现,造成了极大的经济损失
所以,任何的所谓的“哲学”都要看他的历史背景,而不要迷信,现在你写程序,错误处理一定要全面和详细
这导致了什么?直接导致了C语言程序中许多开发阶段就能定位到的错误,留到了维护阶段才发现,造成了极大的经济损失
所以,任何的所谓的“哲学”都要看他的历史背景,而不要迷信,现在你写程序,错误处理一定要全面和详细
|
我想任何一个产品的特征,是由设计者对产品的最终用户定位以及设计者的喜好来决定的;
对于unix,个人理解,其最初是面向科学家,专家们使用的,不是普通的用户,因此,设计者可能认为没有必要给出详细的出错信息。
对于unix,个人理解,其最初是面向科学家,专家们使用的,不是普通的用户,因此,设计者可能认为没有必要给出详细的出错信息。
|
呵呵,Ken Thompson和Dennis M. Ritchie可能觉得不爽吧
|
Unix是给开发者用的,而其他操作系统的一半用户很难定位到问题,因为不是开发及设计人员,所以主要还是用户对象不同。
|
新开发的软件多半有所改变,旧程序有些还维持原样
|
支持 错误处理一定要全面和详细