Cosa rende speciale Unix?

Autore: Judy Howell
Data Della Creazione: 2 Luglio 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
HO PROVATO UNIX (più o meno)
Video: HO PROVATO UNIX (più o meno)

Contenuto



Fonte: Lightcome / iStockphoto

Porta via:

Perché questo stravagante sistema operativo ha resistito alle sfide di artisti del calibro di Microsoft? La risposta è semplice: molti sviluppatori trovano un'alternativa rinfrescante agli strumenti monolitici come IDE e linguaggi come Java.

Sin da quando Unix è entrato in scena nei primi anni '70, gli osservatori nel mondo dei computer sono stati pronti a scriverlo come un sistema operativo stravagante progettato da e per programmatori esperti. Nonostante i loro proclami, Unix si rifiuta di morire. Nel lontano 1985, Stewart Cheifet si chiedeva se Unix sarebbe diventato il sistema operativo standard del futuro nello show di PBS "The Computer Chronicles", anche se MS-DOS era ai massimi livelli. Nel 2018, è chiaro che Unix è davvero il sistema operativo standard, non su PC desktop, ma su smartphone e tablet.

È anche il sistema standard per i server web. Il fatto è che milioni di persone in tutto il mondo hanno interagito con i sistemi Linux e Unix ogni giorno, la maggior parte dei quali non ha mai scritto una riga di codice nelle loro vite.


Cosa rende Unix così amato dai programmatori e da altri tipi di tecnologia? Diamo un'occhiata ad alcune cose che questo sistema operativo ha in serbo. (Per alcuni retroscena su Unix, dai un'occhiata a The History of Unix: From Bell Labs to iPhone.)

Il guscio

La progettazione dell'interfaccia utente ha fatto molta strada dai primi tempi dell'informatica. Ci sono interfacce da riga di comando, interfacce grafiche, interfacce gestuali, lo chiami. Gli utenti più seri, tuttavia, preferiscono la buona riga di comando vecchio stile. Per prima cosa, dal momento che i sistemi operativi basati su Unix vivono spesso su server, l'utilizzo di software -solo riduce il sovraccarico. Invece di un monitor, tastiera e mouse dedicati a un server, gli amministratori possono accedere in remoto tramite SSH nella macchina direttamente o frequentemente in un server console, che mostra i sistemi operativi e consente loro di riavviare la macchina.


Questi utenti trascorrono la maggior parte del loro tempo nella shell, che è il programma che accetta input e lo traduce in azioni, eseguendo programmi o configurando il sistema. È simile al prompt di MS-DOS o ai vecchi linguaggi BASIC su computer a 8 bit come Commodore 64.

Sui sistemi Unix e Linux, l'utente può scegliere tra shell. L'impostazione predefinita nel mondo Linux è Bash, per Bourne Again Shell, un gioco di parole sul creatore di una delle shell originali, Stephen R. Bourne. Altre shell popolari sono zsh, la shell C e la shell Korn, che prendono il nome da David Korn.

Ciò mostra la preferenza del design modulare nel mondo Unix. Tutto, dalla shell all'interfaccia utente grafica, è solo un altro programma e i componenti possono essere sostituiti facilmente. Consente inoltre un approccio allo sviluppo basato su piccoli strumenti. Bene, entra in quelli più tardi. (Leggi di un altro tipo di conchiglia, Mosh, in Mosh: Secure Shell Without the Pain.)

Tutto è un file ()

Una delle cose che caratterizza i sistemi simili a Unix è la loro dipendenza dai file, in contrasto con altri sistemi dell'epoca che utilizzavano file binari opachi per memorizzare le informazioni di configurazione. L'attenzione su ha irritato alcuni utenti di altri sistemi, ma agli utenti Unix piace così.

Nessun bug, nessuno stress: la tua guida passo passo alla creazione di software che ti cambia la vita senza distruggere la tua vita


Non puoi migliorare le tue capacità di programmazione quando a nessuno importa della qualità del software.

"Il filo conduttore era lo smistamento delle parole; una proporzione sospettosamente alta dei miei colleghi UNIX aveva già sviluppato, in qualche carriera precedente, un conforto e una fluidità con le parole ed ed", ha scritto Thomas Scoville. "Erano abili lettori e scrittori, e UNIX giocava a fondo con questi punti di forza. UNIX era, in un certo senso, letteratura per loro. Improvvisamente la sovrarappresentanza di poliglotti, tipi di arti liberali e voraci lettori nella comunità UNIX non sembrò così misteriosa, e ha indicato la strada a un problema più profondo: in un mondo sempre più dominato dalla cultura dell'immagine (TV, film, file .jpg), UNIX rimane radicato nella cultura della parola ".

Il design tradizionale di Unix è stato quello di utilizzare il più possibile i file ASCII. Anche i dispositivi come il disco rigido o l'er sono rappresentati come file. Non sono veramente file, ma i programmatori possono trattare questi file speciali come se lo fossero.

Piccoli strumenti

La shell e avere tutto come un file si presta ad un'altra delle principali caratteristiche dello sviluppo di Unix: svolgere compiti complessi costruendo pipeline con piccoli strumenti.

Tutte le shell hanno un carattere di pipeline, "|", che è l'output di un programma nell'input di un altro. Questo rende facile mettere insieme i programmi.

Supponiamo di voler un elenco ordinato di tutti gli utenti che hanno effettuato l'accesso al sistema senza duplicati (poiché gli utenti possono accedere più volte). Ecco come sarebbe:

chi | cut -d -f1 | ordina | uniq

Anche se sembra strano, mostra il potere di questo stile di sviluppo. Se decidi di implementarlo da zero in C, potresti guardare migliaia di righe di codice.

Questo stile di sviluppo è stato definito la filosofia Unix. Potresti dare un'occhiata al libro di Mike Gancarz, "Linux and the Unix Philosophy", se sei incuriosito.

Perché Unix vive

Quindi, perché questo eccentrico sistema operativo ha resistito alle sfide di artisti del calibro di Microsoft? La risposta è semplice: molti sviluppatori trovano un'alternativa rinfrescante agli strumenti monolitici come IDE e linguaggi come Java. Invece di essere tramandata dall'alto da qualche azienda, le moderne versioni Unix crescono organicamente. Lo scrittore di fantascienza Neal Stephenson ha definito Unix "l'epopea di Gilgamesh" del mondo dei computer nel suo saggio "In the Beginning Was the Command Line".

Se il suo continuo successo è indicativo, Unix continuerà ad attrarre molti più sviluppatori negli anni a venire.