Page 1 of 2
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 languages, 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 Born 6 October 1940, Salt Lake City, Utah, USA
John Warnock is a mathematician no matter what he may claim. 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. 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.
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.
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; Martin Newell; Alan Kay and, of course, John Warnock.
Simulation an impetus
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 Harbour 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 are 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 Harbour.
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.
JaM at PARC
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 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, Chuck Geschke, tried to get Xerox to market it.