June 23rd, 2024

PostScript and Interpress: A Comparison (1985)

Brian Reid compares PostScript and Interpress, detailing their history, development, and similarities in controlling laser printers. Both languages evolved from earlier systems, with PostScript by Adobe and Interpress by Xerox. Despite differences, they significantly advanced page description languages.

Read original articleLink Icon
PostScript and Interpress: A Comparison (1985)

In the comparison between PostScript and Interpress, Brian Reid discusses the history and differences between the two languages used for controlling laser printers. PostScript, developed by Adobe Systems, and Interpress, by Xerox Corporation, were highly similar in their capabilities. The historical background reveals the evolution of these languages from earlier graphics systems like JAM and Press format. Interpress, a collaborative effort involving Butler Lampson and Bob Sproull, combined the graphics model of JAM with new features for page image description. On the other hand, PostScript, developed by John Warnock and Chuck Geschke at Adobe, incorporated Unix concepts and a protection structure akin to C programming. PostScript's manual was first shipped in 1984, while Interpress documentation became available later. The comparison between the two languages involves lexical considerations, syntax, semantic models, usage styles, and implementation aspects. Both languages had similar operators like MOVETO, reflecting their shared origins in earlier graphics systems. Despite their differences, PostScript and Interpress were pivotal in advancing page description languages for laser printing technology.

Link Icon 3 comments
By @knuckleheadsmif - 4 months
I’m one of the few people who has written a lot of Interpress (for the Xerox Star) and was responsible for making it work on a number of Xerox printers all implementing a different subsets mostly because it was evolving protocol which different printers shipping on differing schedules.

This is a long paper that I think has too much detail and it obscures the few key important things:

- Postscript is really a general purpose programming language where interpress is rather restricted.

- Interpress was very concerned from the start about being fast to process on the fastest Xerox printers at the time (a 9700 120PPM) and page independence was critical. Wanted to print forward, backward, in the middle without executing the entire file as postscript required. Interpress could easily index the pages and just start printing from any where. Not so with PostScript.

- both had near identical imaging models. It’s obvious why from that article.

- Postscript had a robust scalable font mechanism where-as all Xerox prints lived in the world of bitmap fonts. This is not really a language issue but an implementation fact at the time and made it in the end far superior despite everything else. (Plus the Mac used it and the LaserWriter was a huge success.)

- at the time Interpress handled multilingual fonts (as did Star) and that was added latter to PS but not when this was written. Interpress used XCCCS their 16bit character code standard which was the direct predecessor to Unicode (co developed initially by Xerox and Apple and I was part of that initial work.)

There are other key points but these are the major ones imho.

By @ggm - 4 months
Exceptionally well written, and easy to follow. The impact of a textual encoding capable of being sent over almost any channel cannot be ignored. How well I recall the obsessional coding efficiency discussions of those days when bandwidth was so constrained. Now, we barely blink if an attachment in mail is 25MB but back then it could take 2 days to send that much data on a 1200baud link.
By @mannyv - 4 months
I read this and it was one of those worthless CS papers that have a lot of verbiage but totally misses the point.

The meat is buried in the middle-end of the document:

"By now you can probably see the fundamental philosophical difference between PostScript and Interpress. Interpress takes the stance that the language system must guarantee certain useful properties, while PostScript takes the stance that the language system must provide the user with the means to achieve those properties if he wants them. With very few exceptions"

All the rest of it is sort of crap.

TL; DR: Postscript is a programming language that happens to be embedded in a printer and does printer things. Interpress is a PDL.