Język programowania PostScript

Jest to przede wszystkim język opisu strony używany do opisywania elementów graficznych i tekstu na stronie lub innym typie dokumentu. Język ten jest jednak na tyle ogólny, że można go nazwać prawdziwym językiem programowania wysokiego poziomu.

  • Podobnie jak inne języki komputerowe, PostScript obsługuje różne typy danych, takie jak liczby, tablice i ciągi. Program PostScript może zawierać pętle, warunki i procedury. Język jest trochę podobny do języka programowania Forth.
  • Składnia języka jest opisana w tzw. Czerwonej Księdze, którą można znaleźć tutaj . Podobnie jak w przypadku wszystkich języków komputerowych, najmniejsze odstępstwo od dobrze zdefiniowanych konwencji języka skutkuje komunikatem o błędzie i systemem komputerowym, który w ogóle nic nie robi. Jeśli drukujesz zadanie na urządzeniu PostScript, a awaria sieci powoduje wysłanie polecenia „showpage” jako „shopage” do urządzenia wyjściowego, system z radością wygeneruje komunikat o błędzie „niezdefiniowany” i odmówi wydrukowania zadania, nawet jeśli jest już renderowana cała twoja strona, a polecenie showpage po prostu mówi urządzeniu wyjściowemu, że może zacząć wyświetlać twoje arcydzieło. W przeszłości takie błędy występowały regularnie - stąd długa lista komunikatów o błędach PostScript.
  • Podobnie jak niektóre kalkulatory HP, język PostScript wykorzystuje odwrotną notację polską (RPN).
  • Ponieważ PostScript jest prawie zawsze używany do opisywania, gdzie coś się znajduje na stronie, ma układ współrzędnych. Domyślnie lewy dolny róg strony jest uważany za punkt początkowy. Odległości lub pomiary są zwykle wyrażane w punktach. Dostępne są 72 dpi. 1 punkt - 0,352 mm.

 

Przykładowy kod PostScript

PostScript to wysoce techniczny język programowania, co oznacza, że nawet zwykli ludzie mogą spojrzeć na instrukcje i zrozumieć, co one oznaczają. Jeśli otworzysz program PostScript za pomocą edytora tekstu lub edytora, może on wyglądać tak:

%% BeginProlog %% BeginResource: procset AdobePS_Win_Feature_Safe 4.2 0 userdict begin/lucas 21690 def/featurebegin {countdictstack lucas [} bind def/featurecleanup {stopped end} repeat} {pop} ifelse} bind def end 1T End2T1TP

Zrozumienie, co oznacza powyższy bełkot, może zająć trochę czasu, ale możesz nauczyć się go rozumieć. Oczywiście zajmie to lata, a kiedy zostaniesz znakomitym programistą, twoja młodość się skończy, ekran twojego komputera będzie dla ciebie ważniejszy niż cokolwiek innego na świecie, a płeć przeciwna pozostanie dla ciebie kompletną tajemnicą. ty. do końca życia (chociaż przyznaję, że nie umiem programować i nie rozumiem kobiet).