Relationship between PDF, PostScript and EPS
PostScript is Adobe's page description language. It attempts to describe in a device-independent manner how to put text and graphics on a page. PostScript has become a standard: most programs whose goal is to put ink on paper are able to convert their output into PostScript format, and many printers have built-in support for printing PostScript files (which normally have a file extension .ps).
Adobe's portable document format, known as PDF, is a cousin of PostScript that is optimized for display on the World-Wide Web. Although PDF is not a full-fledged programming language (PostScript is), PDF has facilities for embedded hyperlinks, interactive forms, and searching. The PDF format has become a standard on the World-Wide Web for documents that need to be displayed exactly as the author formatted them (with prescribed fonts, prescribed line breaks, prescribed spacing, and so forth).
(From Math 696: Mathematical Communication and Technology, by Harold P. Boas)
PDF (Portable Document Format) is a descendant and optimized successor of PostScript (PS) , both developed by Adobe. While PostScript is a Turing-complete programming language used to describe page layouts for printers, PDF is a static, pre-interpreted, and structured format designed for fast, consistent display and sharing across devices.
(From AI Overview, by Google)
History of the PDF
Differences between PostScript and PDF
Basically, the technical differences are:
- PS is a (Turing-)complete language that permits to defer arbitrary computations to rendering time, that is, when the PS file is used (i.e., printed).
- In PDF, all calculations have be completed when the PDF file is produced.
Why do people still use Postscript?
Postscript is still used as an intermediate document format, since it is a fully fledged programming language allowing you to compute graphics, which PDF doesn't. PDF shows just the result (after some conversions, sometimes called "Distillation") of the computation Postscript is able to do.
The Postscript based PSTricks package is an example that heavily makes use of graphical computation. It can even solve differential equations. And if you have a Postscript printer, it can do these computations for you.
One feature that makes Postscript the preferred format, in particular for a publisher, is its editability. If, for instance, line art in a document is too faint, the publisher may want to enhance it a bit globally before giving the document to press. This very issue was raised, e. g., in this question.
With Postscript, doubling the line width in the whole document is easily accomplished by putting
userdict /setlinewidth {2 mul systemdict /setlinewidth get exec} put
into the document header, whereas with PDF such a tweak is much more complicated.
Postscript is still important for people who need to create documents programmatically. Imagine you need to create a nice printable document based on an input from a user. Since you do not know what the input would be like, your document cannot be created beforehand. It has to be created on the fly.
LaTeX is well designed for this kind of task but, unless your application is web based, you need to have LaTeX installed on the user's machine, which is not always feasible. On the other hand, PostScript viewers are ubiquitous and free, e.g. Adobe Acrobat, so having your application create PostScript files,rather than LaTeX is an advantage.
I avoid using pdf, if pdf is all I can find then I first convert it with ghostscript. PDF has plenty of security and privacy issues. Most PDF viewers have zero focus on privacy, postscript files don't have nearly as many "features"(i.e. underhanded attack vectors), and postscript viewers, the ones I have used at least, restrict access to the filesystem. However, I wouldn't trust printers to not be vulnerable to filesystem access from postscript files. In circumstances requiring privacy the use of PDF as opposed to PostScript should be considered a hostile act.