背景:“ Unix哲学”-基本准则,演变和一些批评

让我们告诉您,哲学的本质是什么,它是在发展过程中提出,扩展和批评的。



(顺便说一下,我们的下一个TL;关于“远程控制”和个人信息安全性的DR摘要已于昨天发布。)





照片-Med Badr Chemmaoui-不飞溅



基本原则



据信,它们最初是Unix管道的作者Douglas McIlroy于1978年提出的。他在《贝尔系统技术期刊》上发表了自己的言论-副本仍在网上道格拉斯后来概述了三个基本点:



  • (1)每个Unix程序必须专门从事特定任务;
  • (2)程序的输出将成为其他程序的输入,在第一个程序开发时未知。
  • (3)文本是程序间通信的通用接口。


思想发展



随着时间的流逝,最初的“规则”得到了补充和重新思考。1994年,X Window系统的维护者之一Mike Gancarz对其进行了扩展,并鼓励同事们:



  • (4)处置已经可用的软件解决方案效率更高;
  • (5) ;
  • (6) ;
  • (7) « » .


(Eric Raymond), , Open Source Initiative, — KISS (Keep it simple, stupid).




Kristian BjornardCC BY-SA — Flickr.com





我们在《 Unix仇恨手册》(PDF全文)中发现了一个有趣的注释,该注释使我们想起了理查德·P·加布里埃尔(Richard P. Gabriel)和他的文章“越糟越好”



Gabriel在其中将正确性,一致性和完整性原则与“ Unix哲学”的易于实现和可移植性进行了对比。而且-他将真正有效的软件与病毒在进化方面的优越性进行了比较(论文全文为英文)。



但是,尽管强调简单性,甚至直接提到使用UI(上面的第3点和第7点),但在标题为“ Unix的真相:可怕的接口”的文章中,Donald Norman,尼尔森·诺曼集团(Nielsen Norman Group)的科学家和联合创始人,他批评Unix哲学不关注用户体验。在他的评论中,他从认知工程领域的专业知识出发,着重指出了团队和职能工作方面的问题,并且-提出了自己的系统设计建议:



  • 系统开发各个阶段的设计原则的一致性;
  • 系统的用户友好模型(心理模型)的存在;
  • 在使用它们获得它们助记符提示的能力




照片-鲁道夫Schuba - CC BY - Flickr.com



Unix哲学的另一个批评围绕NFS文件系统的围绕特定功能(例如,网络锁定管理器拐杖-并与门锁配套服务页60-61)讨论基于文本的界面。但是在这方面也有尝试进行概念性战斗的尝试。



因此,用UTF-8的作者,贝尔实验室的本地人(作为道格拉斯·麦克罗伊)罗伯特·派克(Robert Pike General)的话来说,在Unix哲学发展的某个阶段,编写程序(1)仅执行一项任务是不可行的。这是有关他对Slashdot的评论详细主题。,派克还对Unix提出了其他批评。例如,他说缺乏与机器网络的高度集成,并且比较了该系统的选择,这限制了我们自己只能听戴维·卡西迪(David Cassidy)的作品。



您认为可以补充Unix哲学的基本观点吗?





进一步阅读主题:



Linux的整个历史。第一部分:一切如何开始

Linux的整个历史。第二部分:公司变迁

Linux的历史。第三部分:Linux服务器的新市场和旧敌人

基准







哈布雷的新出版物:









All Articles