Casa Audio Cosa può imparare la gente dalla filosofia unix

Cosa può imparare la gente dalla filosofia unix

Sommario:

Anonim

Unix, in tutte le sue varie forme, ha avuto un profondo effetto sull'industria dei computer. Sebbene la maggior parte degli utenti ordinari non lo gestisca direttamente, questo sistema operativo alimenta una buona parte di Internet e quasi tutti gli smartphone là fuori. I programmatori lo adorano e con un'ottima ragione. Gran parte del fascino di Unix deriva da alcune delle decisioni di progettazione originali prese dai suoi creatori, molte delle quali hanno lezioni per persone al di fuori del mondo della programmazione. I programmatori Unix aderiscono spesso a una filosofia di programmazione che enfatizza la semplicità e l'eleganza, ma è possibile applicare queste lezioni oltre lo sviluppo del software. (Ottieni qualche informazione su questo sistema operativo in Cosa rende speciale Unix?)

Keep It Small

Una cosa che sorprende molte persone abituate a programmi monolitici di grandi dimensioni è il vasto numero di piccole utility fornite da molti sistemi Unix e Linux. Esistono strumenti per la ricerca di testo, lo spostamento di file, la visualizzazione di file, la modifica di file e altro. La maggior parte di questi sono solo pochi kilobyte, con alcune eccezioni.


Inoltre, molti di questi programmi non hanno molte funzionalità. Un editor di testo, ad esempio, generalmente non avrà un correttore ortografico. I programmi Unix sono progettati per lavorare insieme e fare più di una cosa, concetti che verranno spiegati più dettagliatamente in seguito.


Secondo un adagio comune, "il 10 percento del lavoro risolve il 90 percento dei problemi". In altre parole, probabilmente stai meglio con uno strumento più piccolo e più semplice di un programma complesso con funzionalità che probabilmente non usi nemmeno.

Usa testo

Una cosa per cui Unix è famosa - o forse per cui è famosa - è la sua forte dipendenza dal testo in chiaro. Sebbene ciò possa sembrare rozzo nell'era della grafica ad alta risoluzione e delle GUI, ci sono alcuni importanti vantaggi in questo.


Quasi tutti i file di configurazione del sistema sono mantenuti in chiaro. Ciò significa che è possibile per gli utenti visualizzare e modificare questi file (purché abbiano le autorizzazioni giuste) senza strumenti speciali. Non esiste l'Editor del Registro di sistema nelle versioni Unix e Linux, perché non esiste un registro.


Il testo è il minimo comune denominatore per i dati, il che significa che qualsiasi altro sistema sarà in grado di leggere e scrivere file di testo. Ciò non solo consente un facile scambio di file, ma anche "dati a prova di futuro", assicurando che possano essere letti dalla prossima generazione di macchine e dalla generazione di macchine che ne conseguono. Il che ci porta a …

Non attaccarti troppo a nessuna piattaforma

Le piattaforme hardware sono fantastiche. Le piattaforme software sono fantastiche. Ce l'abbiamo. Ma le piattaforme hanno una durata, come stanno scoprendo molte persone che fanno ancora affidamento su Windows XP. (in: Perché ora è il momento di abbandonare Windows XP.)


Le piattaforme vanno e vengono, e se sei coinvolto in una, può essere doloroso quando devi muoverti.


I progettisti di Unix hanno apportato un grande cambiamento quando hanno riscritto il sistema in C, un linguaggio di alto livello, anziché in linguaggio assembly PDP-7. C potrebbe funzionare su piattaforme hardware diverse, rendendo Unix il primo sistema operativo che potrebbe essere portato su piattaforme hardware diverse con relativamente poche modifiche.


In contrasto con il vecchio rivale di Unix, VMS, che era strettamente legato alla prima linea di minicomputer VAX della Digital Equipment Corporation, quindi al processore Alpha e infine al processore Itanium. HP, l'attuale proprietario delle tecnologie DEC, ha finalmente iniziato a staccare la spina da VMS.


Unix, nelle sue varie forme, è fiorente, specialmente nelle varie versioni open source, in particolare Linux.

Fai una cosa bene

I programmi Unix sono progettati per fare una cosa e farlo bene, piuttosto che cercare di essere tutto per tutti. La maggior parte dei programmatori Unix preferisce lavorare in un editor di testo che modifica solo il testo, piuttosto che un IDE complesso.


I programmi Unix sono progettati come filtri per fare qualcosa in un flusso di testo e aggiungere nient'altro, formando una pipeline.


Quelle app mobili in esecuzione su smartphone basati su Unix? Fanno anche una cosa alla volta.

Dai libertà al tuo pubblico

La crescita di Linux ha anche reso popolari quelli che sono chiamati movimenti open source e software libero. Se sei un programmatore esperto, puoi modificare il codice sorgente per ottenere quello che ti piace. Ma Unix è sempre stato speciale in quanto ti dà la libertà di fare tutto ciò che vuoi su un computer, anche se finisci per spararti ai piedi. (Alcuni sostengono che l'open source sia troppo bello per essere vero. È vero? Scoprilo qui.)

Costruisci cose per lavorare insieme

Una delle caratteristiche distintive di Unix è la capacità delle shell di reindirizzare l'input e l'output dei comandi in "pipeline" complesse. Questo spiega l'orientamento testuale di molti programmi Unix e perché il loro output è così conciso.

Automatizza, automatizza, automatizza

Unix ha anche reso popolare il concetto di scripting con le varie shell, prima la shell Bourne, poi la shell C, quindi Bash. Numerosi linguaggi di scripting sono stati creati, tra cui Perl e Python. Se automatizzi le attività semplici, avrai più tempo da dedicare a cose utili.

Unix ha superato la prova del tempo

Unix persevera in una forma o nell'altra dal 1969 semplicemente perché la filosofia dietro di essa è irresistibile. Anche se non sei un programmatore, puoi adottare le virtù della semplicità e dell'eleganza in qualsiasi progetto, che si tratti di gestione, amministrazione del sistema o anche in altre aree della tua vita. Per uno sguardo completo alla filosofia Unix, dai un'occhiata al libro di Mike Gancarz "Linux and the Unix Philosophy". È pieno di lezioni che puoi applicare al tuo lavoro IT e oltre.

Cosa può imparare la gente dalla filosofia unix