Antecedentes: "Filosofia Unix" - diretrizes básicas, evolução e algumas críticas

Deixe-nos dizer qual é a essência da filosofia, quem a formulou, expandiu e criticou no curso de seu desenvolvimento.



(A propósito, nosso próximo TL; DR-digest sobre "controle remoto" e segurança de informações pessoais foi lançado ontem .)





Foto - Med Badr Chemmaoui - Unsplash



Princípios básicos



Acredita-se que eles foram formulados pela primeira vez por Douglas McIlroy, o autor do pipeline Unix , em 1978. Ele publicou seus comentários no Bell System Technical Journal - uma cópia ainda está na web . Douglas posteriormente delineou três pontos básicos:



  • (1) Todo programa Unix deve se especializar em uma tarefa específica;
  • (2) A saída dos programas se tornará a entrada de outros, desconhecidos no momento do desenvolvimento do primeiro;
  • (3) O texto é uma interface universal para comunicação entre programas.


Desenvolvimento de pensamento



Com o tempo, as primeiras "regras" foram complementadas e repensadas. Em 1994, Mike Gancarz, um dos mantenedores do X Window System, os estendeu e encorajou os colegas a:



  • (4) É mais eficiente descartar soluções de software já disponíveis;
  • (5) ;
  • (6) ;
  • (7) « » .


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




Kristian BjornardCC BY-SA — Flickr.com





Uma observação interessante que encontramos em A Handbook for Unix Hates ( texto completo em PDF ), que lembra Richard P. Gabriel e seu ensaio " O pior é o melhor ."



Nele, Gabriel contrastou os princípios de correção, consistência e integridade com a facilidade de implementação e portabilidade da "filosofia Unix". E também - comparou o software realmente eficaz com a superioridade evolutiva dos vírus ( texto completo do ensaio em inglês ).



Mas, apesar da ênfase na simplicidade e até mesmo da referência direta ao trabalho com a IU (pontos 3 e 7 acima), em um artigo intitulado "The Truth About Unix: Terrifying Interfaces" Donald Norman), um cientista e co-fundador do Nielsen Norman Group, criticou a filosofia Unix por não focar na experiência do usuário. Em seus comentários, ele partiu de sua expertise no campo da engenharia cognitiva , destacou os problemas em termos de trabalho de equipes e funções, além de - formulou suas próprias recomendações para o projeto de sistemas:



  • consistência dos princípios de design em todos os estágios de desenvolvimento do sistema;
  • a presença de um modelo amigável do sistema (modelo mental);
  • a capacidade de obter dicas mnemônicas ao trabalhar com ele.




Foto - Rudolf Schuba - CC BY - Flickr.com



Outra crítica à filosofia Unix girava em torno de recursos específicos do sistema de arquivos NFS (por exemplo, asmuletasdoNetwork Lock Manager com o serviço lockd - páginas 60-61) ediscussões sobreinterfaces baseadas em texto. Mas também houve tentativas de batalhas conceituais a esse respeito.



Assim, naspalavras deRobert Pike (por Robert Pike General), autor do UTF-8 e nativo da Bell Labs (como Douglas McIlroy), em um determinado estágio de desenvolvimento da filosofia Unix não era viável escrever programas (1) realizar apenas uma tarefa. Aqui está umtópico detalhado sobre seus comentários no Slashdot., no qual Pike compartilha outras críticas ao Unix. Por exemplo, diz a falta de um alto nível de integração com a rede de máquinas e compara a escolha desse sistema nos limitar em ouvir exclusivamente composições de David Cassidy ( de David Cassidy ).



O que você acha que poderia complementar os pontos básicos da filosofia Unix?





Leituras adicionais sobre o tema:



Toda a História do Linux. Parte I: como tudo começou

Toda a história do Linux. Parte II: vicissitudes corporativas

A história do Linux. Parte III: Benchmarks de novos mercados e velhos inimigos

para servidores Linux







Novas publicações em nosso Habré:









All Articles