File

=File= Un **file** (termine [|inglese] per "archivio") in [|informatica] è un contenitore di informazione digitalizzata. Le informazioni codificate al suo interno sono leggibili solo da [|software]. Tecnicamente, i dati codificati in un file sono organizzati come una sequenza (di [|byte]), immagazzinati come un solo elemento su una [|memoria di massa], all'interno del [|File system] (sistema di archivi) esistente su quella data memoria di massa. Ciascun archivio elettronico è dotato di un nome, che è tipicamente organizzato in contenitori denominati [|directory] o cartelle in uno spazio di nomi gerarchico. Il contenuto dei file è normalmente conforme ad un particolare [|formato], e per ciascun formato esistono una o più [|applicazioni] che sono in grado di interpretarne e/o di modificarne il contenuto ("aprire" il file). Alcuni sistemi operativi, come [|Microsoft Windows] e l'[|MS-DOS], riconoscono il formato di un file in base all'[|estensione] del loro nome; altri, come il [|Mac OS] da una serie di [|metadati] salvati insieme al file; altri ancora, come [|Unix], identificano i tipi di file in base ai primi due byte del loro contenuto, detti [|magic number]. Il //nome// viene scelto dall’utente del computer nel momento in cui salva il file; l’//estensione// invece dipende dalla tipologia di file a cui si fa riferimento. L’aspetto delle icone varia a seconda del tipo di estensione. Per poter lavorare con un file, si ha bisogno nella maggior parte dei casi di un programma o di un'applicazione che permetta di leggere, modificare o salvare i dati contenuti in questo file.
 * //txt// rappresenta un file di testo
 * //doc// un documento generato con Microsoft Word
 * //xls// un foglio di lavoro di Microsoft Excel
 * //mdb// un database di Microsoft Access
 * //ppt// una presentazione di Microsoft Powerpoint
 * //bmp//, //gif// e //jpg// si riferiscono a file di immagini
 * //prm// a file di stampa
 * //wav// a file audio
 * //avi// a file video
 * //tmp// a file temporanei

Si noti che un formato aperto può essere tanto codificato in modo //trasparente// (ovvero leggibile tramite un qualsiasi editor di testo: è il caso dei linguaggi di markup) quanto in formato //binario// (illeggibile in un editor di testo, ma trasparente alla luce della sua specifica pubblica: è il caso di formati aperti come il PDF o il PNG)
 * FORMATO APERTO** - Diremo che un formato è **aperto** se il modo di rappresentazione dei suoi dati è trasparente e/o la sua specifica è di pubblico dominio. Si tratta generalmente (ma non esclusivamente) di standard fissati da autorità pubbliche e/o istituzioni internazionali il cui scopo è quello di fissare norme che assicurino l'interoperabilità tra software. Non mancano tuttavia casi di formati aperti promossi da aziende, che hanno deciso di rendere pubblica la specifica dei propri formati.

Nota terminologica : in questo documento chiameremo formato proprietario ciò che altri chiamano formato **chiuso**. Non intendiamo affatto suggerire tramite la nostra scelta terminologica che tutto ciò che non è proprietario appartiene al mondo degli standard pubblici. Abbiamo sottolineato nel paragrafo precedente che esistono diversi formati a specifica pubblica (= "aperti") che sono stati sviluppati da imprese produttrici di software. La differenza tra aperto e proprietario (o chiuso, che dir si voglia) consiste esclusivamente nell'esistenza o nella non esistenza di una specifica pubblica del formato.
 * FORMATO PROPRIETARIO** - Diremo che un formato è **proprietario** se il modo di rappresentazione dei suoi dati è opaco e la sua specifica non è pubblica. Si tratta in genere di un formato sviluppato da un'azienda di software per codificare i dati di una specifica applicazione che essa produce: solo i prodotti di questa azienda potranno leggere //correttamente e completamente// i dati contenuti in un file a formato proprietario. I formati proprietari possono inoltre essere protetti da un //brevetto// e possono imporre il versamento di royalty a chi ne fa uso.