John Warnock - Father of PostScript
Article Index
John Warnock - Father of PostScript
Adobe Systems
Vision of Postscript


Most programmers attempt to invent a programming language or two before they have completed their life's work - it's almost an occupational hazard. Few of these languages survive long or even manage to gather a user community greater than one!

Strangely one of the most successful of programming anguages, although hardly recognised as such, can count its users in millions and most of them aren't human!

John Warnock is the programmer who invented the PostScript language, revolutionised printing and typesetting and rescued the Mac from oblivion.


John E Warnock 
October 6, 1940 -  August 19, 2023

No matter what he claimed John Warnock was a mathematician. His early training was in mathematics and he discovered computers relatively late on.

After getting his Master's degree in math he applied to IBM for a job more or less by accident, and was given a job looking after the two biggest accounts in Salt Lake City, where he was born and brought up.  After a while he decided to go back to Utah University to get his  PhD in mathematics but to support himself and his wife he took work programming.

Around 1969 he was working at the University of Utah Computer Center writing a class registration program, purely for cash, when Dave Evans came over and relieved the boredom by telling him about an interesting problem in hidden surface removal.

Hidden  surface removal is something that you have to do if you hope to  display a realistic view of a 3D model on a 2D screen.

Dave Evans was destined to become one half of Evans and Sutherland, that  well-known team of graphics experts and a multi-million dollar company of the same name - but that's another story. Suffice it  to say that even then Dave Evans was an important person and  already an expert on computer graphics.

Warnock's Algorithm

It must therefore have  come as a shock when John Warnock said something along the lines  of ".. the best ways to do it is .." and then outlined what has  come to be known as Warnock's algorithm. Just in case you are interested what this flash of brilliance was  about I'll describe its general principle.

If you have a 3D model  consisting of polygons then you should first try to solve the  hidden surface problem for the whole screen. Sometimes this will  be easy because there will only be a single polygon or no  overlapping polygons, but in most cases it will be too difficult.  If it is too difficult divide the screen into four smaller  windows and apply the decision process to each window, continuing  recursively until you reach a window where the problem can be  solved or arrive at a single pixel. It's based on recursion  - I told you Warnock was a mathematician!

Warnock not only came  up with the recursive idea but also the decision-making part of  the algorithm that allowed the whole procedure to be many times  faster than the methods of the day. As a result of the invention of his algorithm, Warnock switched  from doing a PhD in Maths to one in Computer Science and  continued to work on graphics. His "Warnock" algorithm was the subject of his disertation - one of the shortest in the history of the university.

The Computer Science department at the University Utah went from mediocrity to major importance as Evans and Sutherland's graphics group developed many of the ideas  that we take for granted today. Their students included Ed Catmull, who became head of LucasFilm; Jim Blinn the man who did  the Jupiter fly pass simulations (you might be too young to remember those); Martin Newell; Alan Kay and, of  course, John Warnock.

Simulation - an impetus for PostScript

The invention of the PostScript language dates back to the days of trying to deal with simulation problems. A lot of the work was  destined to be used in flight simulators, but Warnock landed the  task of building a digital model of New York Harbor for the  Maritime Academy.

Most programmers would have tackled the job by  building a database to be used directly by the simulator - but  such crude approaches were not John Warnock's. Instead he decided  that the data should be coded in as general a way as possible and  not tied to the structure of the simulator. To make the data usable by the simulator, all they needed was a compiler. So the  database was in fact a text form description of New York Harbor.

Slowly the language used became increasingly sophisticated and  more recognisable as a language rather than a static database. In this language lay the origins of PostScript. After working for Evans and Sutherland (the company) for a while  Warnock moved on to Xerox PARC in 1978.


In case you don't know, PARC was a sort of practical think tank that Xerox set up to  develop and steer technology towards the paperless office - for without paper the existing Xerox business - photocopiers - was  nothing. The main ideas that came out of PARC were the GUI,  Smalltalk - the first modern object-oriented language, and JaM. 

JaM stood for John and Martin because it was a development of the  harbour description language implemented by John Warnock and  Martin Newell. This time is was an interpreted language so they could try things out in real time. JaM then evolved into Interpress, and Warnock and his boss at Xerox, Charles (Chuck) Geschke,  tried to get Xerox to market it.


Last Updated ( Monday, 21 August 2023 )