# PostScript

PostScript è un linguaggio di descrizione di pagina interpretato particolarmente adatto alla descrizione di pagine ed immagini, sviluppato da Adobe ed inizialmente usato come linguaggio per il controllo delle stampanti.
Il PostScript va considerato come un vero e proprio linguaggio di programmazione. Lo scopo principale per cui venne ideato era lo sviluppo di uno strumento per descrivere pagine di testo e grafica in modo indipendente dalla risoluzione e dal dispositivo di visualizzazione. Grazie a questo linguaggio quindi è possibile trasferire da un computer ad un altro informazioni senza perdita di qualità. Un file postscript può quindi essere visualizzato o stampato alla massima risoluzione consentita su una qualsiasi piattaforma compatibile.
Uno degli esempi più interessanti e a suo tempo innovativi di questo linguaggio fu l'uso in gestori grafici, come Display PostScript della NeXT (sviluppato in collaborazione con Adobe), e NeWS della Sun Microsystems.
È derivato dal linguaggio Forth.

## Storia

Il linguaggio PostScript è nato nel 1976 quando John Warnock lavorava per la compagnia di computer grafica Evans & Sutherland. All'interno della compagnia egli ebbe la possibilità di sviluppare un interprete per gestire un grande database tridimensionale usato nel porto di New York; fu in quella occasione che Warnock concepì l'idea di un linguaggio per la grafica, tale creazione prese in seguito il nome di Design System.
Nello stesso periodo dei ricercatori del Xerox PARC (Palo Alto Research Center) svilupparono la prima stampante laser e si resero conto di aver bisogno di un linguaggio standard per poter comunicare con la stampante in modo da poter definire la struttura delle pagine. Così tra il 1975 e 1976 un team guidato da Bob Sproull sviluppò un formato standard per la stampa ma questo formato non venne effettivamente usato (se non in seguito nei sistemi Xerox Star), perché risultava eccessivamente rigido e particolarmente scomodo.
Nel 1978 a Warnock venne richiesto di trasferirsi dalla baia di San Francisco alla sede principale della Evans & Sutherland in Utah, ma lui, non interessato al trasferimento decise di restare in California e di lavorare per il Xerox PARC insieme a Martin Newell. All'interno del PARC Newell e Warnock reimplementarono il Design System e gli diedero il nome di JaM (usando le iniziali dei loro nomi) che venne usato per il design VLSI e per ricerche sulla grafica. Dopo numerose modifiche il linguaggio JaM prese il nome di InterPress.
Dopo aver cercato di convincere Xerox a trasformare il loro linguaggio in un prodotto commerciale, Warnock e il suo capo, Charles Geschke, decisero di lasciare Xerox per mettersi in proprio. Il 2 dicembre 1982 Warnock e Geschke fondarono la loro società: Adobe. Il nome proviene da un ruscello (Adobe Creek) che scorreva dietro la casa di Warnock a Los Altos, in California. Nel 1984 PostScript, un linguaggio piuttosto semplice basato su InterPress, venne lanciato sul mercato.
Adobe venne subito contattata da Steve Jobs che richiese alla società di creare un controller PostScript per la Apple LaserWriter, una stampante laser messa in commercio nel marzo del 1985. Si affermò così il PostScript come standard de facto per la distribuzione di documenti in formato elettronico; negli anni successivi i documenti in formato PostScript vennero soppiantati solo dai file PDF (Portable Document Format), per la possibilità di contenere informazioni in diversi formati.
Prima dell'avvento del Postscript, alle stampanti venivano inviati testi in caratteri ASCII. Nelle prime stampanti i glifi (caratteri) erano difficili da modificare.
Mentre, con l'avvento delle stampanti ad aghi, i caratteri erano elaborati come insiemi di punti e quindi cambiare aspetto era molto più semplice. Addirittura, nei modelli più avanzati di stampanti ad aghi, era possibile caricare i font nella stampante e questo permetteva di certo una maggiore libertà di scelta. Con le stampanti ad aghi è stato addirittura possibile stampare grafica raster. Le immagini non vettoriali venivano elaborate e trasmesse alla stampante ad aghi come una serie di punti.
Vengono poi introdotti i plotter. Ma questi erano molto costosi e li possedevano in pochi. Per di più il linguaggio per plotter che andava per la maggiore era l'HPGL; che era comunque molto limitato.

## Il linguaggio

Un file PostScript (PS) è in realtà un file di testo puro, ed è dunque consultabile con un qualsiasi editor di testo. Questo significa che è possibile generare un file PostScript scrivendo direttamente del codice. In realtà leggere un file PostScript è piuttosto complicato, specialmente se è stato generato in automatico da un programma, però per realizzare dei semplici documenti in molti casi può essere considerato la scelta più elegante e qualitativamente migliore.

### "Hello world"

Ecco un Hello world in linguaggio PostScript: salvando questo codice come Nome_file.ps, esso può essere direttamente inviato ad una stampante PostScript o può essere letto da alcuni visualizzatori di documenti (ad esempio con Evince), oppure questo codice può essere dato direttamente in pasto ad un interprete PostScript come Ghostscript.