miniatura|Ken Thompson i Dennis Ritchie, principals defensors de la filosofia Unix La filosofia d'Unix és un conjunt de principis i enfocaments culturals i filosòfics per al desenvolupament de programari minimalista i modular. Va sorgir a partir de les experiències dels desenvolupadors principals del sistema operatiu Unix. Els primers desenvolupadors d'Unix van ser fonamentals per introduir els conceptes de modularitat i reutilització en la pràctica de l'enginyeria de programari, donant lloc a un moviment de «ferramentes de programari». Amb el temps, els desenvolupadors líders d'Unix (i dels programes que s'executaven en ell) van establir un conjunt de normes culturals per al desenvolupament de programari; aquestes normes van arribar a ser tan importants i influents com la mateixa tecnologia d'Unix que se'ls ha anomenat la «filosofia d'Unix».
Origen miniatura|Rob Pike, coautor de L'entorn de programació UNIX miniatura|Brian Kernighan ha escrit extensament sobre la filosofia d'Unix miniatura|Doug McIlroy amb Dennis RitchieLa filosofia d'Unix es documenta per Doug McIlroy al Bell System Technical Journal de 1978:
Fes que cada programa faça una cosa bé. Per fer una nova tasca, construeix-la des de zero en lloc de complicar els programes antics afegint noves «funcions». Espera que la sortida de cada programa es convertisca en l'entrada d'un altre, encara desconegut. No omplis la sortida amb informació extra. Evita formats d'entrada binaris o estrictament columnars. No insistisques en l'entrada interactiva. Dissenya i construeix programari, fins i tot sistemes operatius, per a provar-lo aviat, idealment en setmanes. No dubtes a llençar les parts maldestres i reconstruir-les. Utilitza eines en lloc d'ajuda no especialitzada per alleugerir una tasca de programació, fins i tot si has de desviar-te per construir les eines i esperes llençar-ne algunes després d'haver-les usades.
Posteriorment, Peter H. Salus va resumir-ho a A Quarter-Century of Unix (1994):
Escriu programes que facen una cosa i la facen bé. Escriu programes per treballar junts. Escriu programes per manejar fluxos de text, perquè aquesta és una interfície universal.
En el seu treball d'Unix de 1974, Ritchie i Thompson van citar les següents consideracions de disseny:
Facilita l'escriptura, la prova i l'execució de programes. Ús interactiu en lloc de processament per lots. Economia i elegància de disseny a causa de les limitacions de mida ("salvació a través del sofriment"). Sistema autosuficient: tot el programari d'Unix es manté sota Unix.
Crítiques En un article de 1981 titulat «The truth about Unix: The user interface is horrid» publicat a Datamation, Don Norman va criticar la filosofia de disseny d'Unix per la seva manca de preocupació per la interfície d'usuari. Escrivint des del seu context en la ciència cognitiva i des de la perspectiva de la filosofia de l'enginyeria cognitiva de l'època, es va centrar en com els usuaris finals comprenen i formen un model cognitiu personal dels sistemes—o, en el cas d'Unix, no ho aconsegueixen, amb el resultat que els errors desastrosos (com perdre una hora de treball) són massa fàcils.
En el pòdcast On the Metal, el desenvolupador de videojocs Jonathan Blow va criticar la filosofia d'Unix per estar desactualitzada. Va argumentar que lligar ferramentes modulars dona com a resultat programes molt ineficients. Diu que la filosofia d'Unix pateix problemes similars als microserveis: sense supervisió general, les grans arquitectures acaben sent ineficaces i ineficients.
Referències
Bibliografia
Vegeu també Enginyeria de programari Ètica hacker Principi KISS
Categoria:Unix