日期:2014-05-16  浏览次数:20616 次

不明白unix的一条哲学
最近在看《Linux/Unix设计思想》,其中10条次要准则之一是:

  (5) 沉默是金。在需要提供出错信息的时候,Unix命令是出了名地喜欢保持沉默。虽然很多经验丰富的Unix用户认为这是可取的做法,可其他操作系统的用户却并不认同此观点。

  为何不提供详细的出错的信息呢?我对此不是很理解。

------解决方案--------------------
我想任何一个产品的特征,是由设计者对产品的最终用户定位以及设计者的喜好来决定的;

对于unix,个人理解,其最初是面向科学家,专家们使用的,不是普通的用户,因此,设计者可能认为没有必要给出详细的出错信息。
------解决方案--------------------
呵呵,Ken Thompson和Dennis M. Ritchie可能觉得不爽吧
------解决方案--------------------
Unix是给开发者用的,而其他操作系统的一半用户很难定位到问题,因为不是开发及设计人员,所以主要还是用户对象不同。
------解决方案--------------------
主要是时代的限制,早期unix为了简化设计,减少资源占用,将错误信息最小化,最典型的例子就是C语言编译器,将lint作为一个独立的程序,C编译器只提供最小化的警告

这导致了什么?直接导致了C语言程序中许多开发阶段就能定位到的错误,留到了维护阶段才发现,造成了极大的经济损失

所以,任何的所谓的“哲学”都要看他的历史背景,而不要迷信,现在你写程序,错误处理一定要全面和详细
------解决方案--------------------
探讨
引用:

主要是时代的限制,早期unix为了简化设计,减少资源占用,将错误信息最小化,最典型的例子就是C语言编译器,将lint作为一个独立的程序,C编译器只提供最小化的警告

这导致了什么?直接导致了C语言程序中许多开发阶段就能定位到的错误,留到了维护阶段才发现,造成了极大的经济损失

所以,任何的所谓的“哲学”都要看他的历史背景,而不要迷信,现在你写程序,错误处理一定……

------解决方案--------------------
支持 错误处理一定要全面和详细