Filosofia di Unix

filosofia sullo sviluppo di software

La filosofia di Unix (in inglese: Unix philosophy) è una metodologia di sviluppo del software proposta nel 1969 da Ken Thompson e adottata dagli sviluppatori del sistema operativo Unix e da alcuni sistemi Unix-like.[1]

Ken Thompson e Dennis Ritchie, inventori della filosofia di Unix

Nonostante le diverse formulazione fornite nel corso degli anni, tra gli altri, da Douglas McIlroy, Rob Pike ed Eric Steven Raymond, è brevemente riassunta dalla massima:[2]

(EN)

«Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.[3]»

(IT)

«Scrivete programmi che facciano una cosa e che la facciano bene. Scrivete programmi che funzionino insieme. Scrivete programmi che gestiscano flussi di testo, perché quella è un'interfaccia universale.»

La frase, che suggerisce l'adozione della programmazione modulare e l'utilizzo dei canali standard per la comunicazione tra processi, trae spunto dall'elenco di caratteristiche stilate da McIlroy, inventore delle pipe,[2] e altri.[4] Lo stesso McIlroy attribuisce a Brian Kernighan la diffusione della filosofia, anche grazie allo sviluppo di linguaggi come awk.[5] Mike Gancarz sintetizza la filosofia di Unix in 9 principi, citando tra i pilastri la portabilità e l'importanza dei filtri.[6]

La filosofia di Unix è citata da Patrick Volkerding come una delle radici del progetto Slackware, per differenziarsi dalle altre distribuzioni.[7]

Note modifica

  1. ^ (EN) The Unix Philosophy: A Brief Introduction, su The Linux Information Project, 6 agosto 2006.
  2. ^ a b (EN) Eric Steven Raymond, Basics of the Unix Philosophy, su The Art of Unix Programming, catb.org, 19 settembre 2003.
  3. ^ (EN) Peter H. Salus, A Quarter Century of Unix, Addison-Wesley, 31 maggio 1994, ISBN 0-201-54777-5.
  4. ^ (EN) BSTJ 57: 6. July-August 1978: UNIX Time-Sharing System: Forward. (McIlroy, M.D.; Pinson, E.N.; Tague, B.A.), su archive.org, 8 luglio 1978.
  5. ^ (EN) M. Douglas McIlroy, A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986 (PDF), su cs.dartmouth.edu.
  6. ^ (EN) Mike Gancarz, The Unix philosophy, Digital Press, 1995, p. 4, ISBN 1-55558-123-4.
  7. ^ (EN) An Interview with Patrick Volkerding of Slackware (7th of June 2012), su Slackware Linux Blog, 13 gennaio 2013.

Voci correlate modifica

Collegamenti esterni modifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica