Sito Ufficiale del Mensile di informazione del "Municipio Montesacro" Edito e Diretto da Roberto Borgheresi

Home | News | Rubrica | Forum | Contattaci | Mappa

Unix non segue la filosofia Unix
31/05/2012 11:36:37

La filosofia Unix è una nobile idea, ma anche Unix non lo segue troppo da vicino. La filosofia Unix, come riassunto da Doug McIlroy, dice:

  - scrivere programmi che fanno una cosa e la fanno bene,
  - scrivere programmi per lavorare insieme,
  - scrivere programmi per gestire i flussi di testo, perché è un'interfaccia universale.

Ecco un esempio da James Hague, dove il primo punto è stato tratto.

     "L'utility UNIX ls sembrava una buona idea al momento. E' il manifesto con cui UNIX lavora: un piccolo strumento che fa esattamente una cosa bene. Esso mostra un elenco di nomi di file. Ma decidere come visualizzare i nomi dei file e in quale formato ha portato l'aggiunta di oltre 35 riga di comando. Ora la pagina di manuale per la versione BSD di ls sopporta la vergogna di questa nota: 'Per mantenere la compatibilità con le versioni precedenti, i rapporti tra le numerose opzioni sono abbastanza complesse'."

James Hague dà questo come solo un piccolo esempio di come i programmatori hanno permesso di diventare le cose inutilmente complicate. Egli conclude dicendo.

     "Lo abbiamo fatto. Noi che pretendiamo il valore della semplicità per primo io sono il colpevole. Vedi, tutte quelle decisioni di progettazione, poco importano in realtà, e ci sono stati momenti in cui avremmo potuto fermarci e dire "no, non facciamolo". Anche se si era pigri a non fare la cosa giusta, in particolare quando i cambiamenti da fare sono facili da effettuare.".

Ha ragione, in una certa misura. Ma, come ha sempre sostenuto, quando la filosofia di Unix si rompe, una parte della crescita della complessità è comprensibile. Ovvero è molto più facile da mantenere un design ortogonale quando il software non viene utilizzata, mentre un software che viene sempre più utilizzato diventa sempre meno ortogonale e sviluppa collegamenti diagonali.

Perché ls ha decine di opzioni aggrovigliate? Perchè gli utenti, anche Unix, non sono particolarmente affezionati ai primi due punti della filosofia Unix. Non vogliono i programmi concatenati insieme. Preferiscono fare di più con lo strumento a portata di mano di quanto messo a raccogliere nuovi strumenti. Essi apprezzano l'ideale degli strumenti single-purpose che funzionano bene insieme.

Si è d'accordo che "tutte le decisioni di progettazione poco importano in realtà, e ci sono stati luoghi in cui avremmo potuto fermarci e dire: 'no, non facciamolo'". Una certa complessità è venuto da una mancanza di lungimiranza o di coraggio. Ma non tutto.





[ Torna a Informatica | Versione Stampabile]
Accedi/Registrati
Nome utente:

Password:


Hai perso la password?

Registrati ora!
 
 
5 utente(i) sono online (4 utente(i) stanno navigando in Sezioni)

Iscritti: 1
Semplici visitatori: 4

priscilla, Altro...