PostScript

PostScript on programmeerimiskeel graafiliste objektide (tekst, vektorina kirjeldatud objektid nagu ring, ruut, joon jms ning rastergraafika) kirjeldamiseks sõltumata tulemust realiseerivast seadmest (printer, kuvar vms). Siiski on PostScript ka võimas programmeerimiskeel, millel abil tehtud ka näiteks veebiserver (http://www.pugo.org/).
Ajalugu.
PostScripti aluse pani John Warnock 1976. aastal firmas Evans and Sutherland (arvutigraafikaga tegelev ettevõte). 1978 hakkas Warnock tööle Xerox PARC-is koos Martin Newelliga. Koos kirjutasid nad disainimissüsteemi JaM (John and Martin), mida arendati edasi ning mida tuntakse InterPressi nime all. Warnock lahkus ettevõttest koos Chuck Geschkega ja rajas Adobe Systemi aastal 1982. Seal tegid nad InterPressi põhjal lihtsama keele: PostScripti, mis toodi turule 1984. Steve Jobsi pealekäimisel kohandasid nad keele laserprinterite jaoks. 1985 tuli turule esimene PostScripti toetusega laserprinter (Apple LaserWriter) ja alates sellest muutus PostScripti kasutamine laserprinterites tavaliseks. Aastaks 2001 ei olnud kuigi paljud printerid enam PostScripti toetusega, sest selle toe lisamine printerisse tuli oluliselt kallim kui prinditava lehe arvutis renderdamine. Aegamööda on PostScripti tagaplaanile surunud selle järeltulija PDF (Portable Document Format), mis tuli välja 1990. aastate alguses, kuid ei saavutanud kiiret populaarsust.
PostScripti keel on saanud kaks suurt uuendust, mida eristatakse tasanditena (ingl. "level"). Algne PostScript ehk PostScript Level 1 tuli välja aastal 1984. PostScript Level 2 tuli välja aastal 1991 ja selles parandati kiirust, JPEG lisamist otse PostScripti, dokumendi osade kordamist (Form mehhanism) jms. PostScript Level 3 tuli välja aastal 1997 ja selles parandati värvikäsitlust, veakäsitlust, programmi sisu filtreid (pakkimine, vormingute tõlgendamine jms) ja programmi ülesehitust.
Programmeerimiskeelena.
PostScript on pinupõhine (pinu on andmestruktuur, millest loetakse esimesena viimati sisestatu) süsteem. Tavaliselt kirjutavad PostScript programme teised programmid ja mitte inimene. Keelena sarnaneb PostScript keelega Forth, aga andmestruktuurid sarnanevad rohkem Lispi omadega. Keeles on hulk operaatoreid, millest enamus on pinu sisu muutmiseks. Iga operaator vajab pinus kindlat hulka ja kindla andmetüübiga kirjeid ning jätab pinusse kindla arvu kindlat tüüpi elemente. Reavahetus ei oma PostScriptis tähtsust, tühik ja reavahetus on samaväärsed. Puudub lause algus ja lõpp, kõike käsitletakse ühe jadana. Tekstilise väärtuse puhul reavahetust ikkagi arvestatakse.
Programminäide aritmeetilise tehte (1 + 2) * (9–8) näol:
 1 2 add 9 8 sub mul
Toimuvad järgmised sammud:
Programmi lõppedes on pinus arv 3.
Kommentaare saab lisada protsendiga, kommentaar kestab rea lõpuni.
Muutujat saab defineerida operaatoriga def:
 /x 123 def % defineeritakse muutuja x väärtusega 123
 /x 1 2 add def % defineeritakse muutuja x väärtusega 3
 /y x 3 add def % kasutades muutujat x defineeritakse muutuja y väärtusega 6
Kaldkriipsu kasutatakse literaadina. Muutuja kasutamisel kaldkriipsu lisada ei tule.
Operaatoriga saab luua tsükleid, esitada tingimusi, defineerida operatsioone korduvkasutuseks (nagu funktsioonid), teostada graafilisi operatsioone, muuta pinu sisu (elemente ümber reastada, kustutada, paljundada) ja palju muud.
"Hello world" programm.
PostScripti vorming eeldab faili alguses hüüumärgiga algavat kommentaari. Tekstväärtusi väljendatakse sulgudega. Standardväljundisse kirjutatakse pinus olev võrdusmärgi abil:
 (Hello world) =
Väljundisse minev programm:
 /Times-Roman findfont 15 scalefont setfont
 72 200 moveto
 (Hello world) show
 showpage
Interpretaatorid.
PostScripti suudavad interpreteerida GhostScript, Acrobat Distiller.
Näiteks GhostScript Linuxi käsureal:
 $ gs
 ESP Ghostscript 815.01 (2005-09-22)
 Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved.
 This software comes with NO WARRANTY: see the file PUBLIC for details.
 GS&gt;4 5 mul
 GS&lt;1&gt;6
 GS&lt;2&gt;mul
 GS&lt;1&gt;=
 120
 GS&gt;quit
GhostScripti käsureal on näha pinus olevate elementide arv.
GhostScripti koosseisu kuulub ka PostScripti PDF-iks teisendamise programm, GhostView (gv) ja palju muud.
Välislingid.
Adobe üllitatud raamatud (keelega alustajatel soovitatakse raamatutega just selles järjekorras tutvust teha):
Teised raamatud:
Saidid: