As does happen on occasion, I ponder things to a ridiculously detailed level. The other day I was looking at large format plotters and *KNEW* that I wanted one with PostScript but suddenly didn’t know *WHY* I needed one with PostScript. Having my curiosity peaked, I decided I needed to know what all the fuss was about, so I called one of my Guru’s, Mark Barnes over at Adobe…
In this multi-part series, I will share with you the information that Mark sent me. So for all of you who have heard of, used, and knew the importance of PostScript but not necessarily why…. this is for you.
“What is PostScript?”
A: It is both a Programming Language, and a Page Description Language (PDL).
As a Programming Language, it is stack based, and uses Postfix notation, similar to a Reverse Polish Notation Calculator. In an RPN calculator, you enter the equation 2+2= as: 2 [enter] 2 [enter] +. It has the advantage of eliminating the need for parentheses in a calculation. For example 3 x (4+7) would be entered: 3 [enter] 4 [enter] 7 [enter] + x. The way it would be processed is as follows: You imagine each entry being stacked on top of each other. So you get a 3 at the base, with a 4 on top of it, and a 7 on top of that. Then you process the “plus” operation. Plus takes the first thing off the stack, (7 in this case) and “plusses” it with the next thing it takes off the stack (4) and pushes the answer 11 onto the stack. Then it processes the “times” operator, by taking the 11 off the stack, and “times” it with the next thing it takes off the stack (3) and pushes the answer 33 onto the stack.
For more on RPN, visit: Wikipedia
PostScript is an “interpreted” programming language. Meaning it isn’t Assembly language, it isn’t a string of ones and zeros. It is human-readable and gets interpreted by a PostScript Interpreter, which is a high-level chunk of computing code that typically lives in the ROM of a printer’s marking engine. As a Page Description Language, it exists to describe the appearance of printed pages. It is both Resolution Independent and Device Independent. (Although devices differ a lot, and it is relatively easy to produce PostScript code that will produce expected results on one device and not on another device, but in general, the language itself is device independent. What you *do* with it is another matter.)…
To be continued.