
Earlier I noted how current writing technology tends to be the dominant metaphor of the mind. Related to this, is the tendency for writing technology to make a technological platform. Texting was the killer app for the cell phone, and the wordprocessor was the killer app for the PC. But before that, there was UNIX, and the killer app for UNIX was troff.
Part of the Documenter’s Workbench (DWB), troff was first used to process documents in the Bell Labs patent department. Dennis Ritchie describes the event in “The Evolution of the Unix Time-sharing System”:
At the time of the placement of the order for the PDP-11, it had seemed natural, or perhaps expedient, to promise a system dedicated to word processing. During the protracted arrival of the hardware, the increasing usefulness of PDP-7 Unix made it appropriate to justify creating PDP-11 Unix as a development tool, to be used in writing the more special-purpose system. By the spring of 1971, it was generally agreed that no one had the slightest interest in scrapping Unix. Therefore, we transliterated the roff text formatter into PDP-11 assembler language, starting from the PDP-7 version that had been transliterated from McIlroy’s BCPL version on Multics, which had in turn been inspired by J. Saltzer’s runoff program on CTSS. In early summer, editor and formatter in hand, we felt prepared to fulfill our charter by offering to supply a text-processing service to the Patent department for preparing patent applications. At the time, they were evaluating a commercial system for this purpose; the main advantages we offered (besides the dubious one of taking part in an in-house experiment) were two in number: first, we supported Teletype’s model 37 terminals, which, with an extended type-box, could print most of the math symbols they required; second, we quickly endowed roff with the ability to produce line-numbered pages, which the Patent Office required and which the other system could not handle.
During the last half of 1971, we supported three typists from the Patent department, who spent the day busily typing, editing, and formatting patent applications, and meanwhile tried to carry on our own work. Unix has a reputation for supplying interesting services on modest hardware, and this period may mark a high point in the benefit/equipment ratio; on a machine with no memory protection and a single .5 MB disk, every test of a new program required care and boldness, because it could easily crash the system, and every few hours’ work by the typists meant pushing out more information onto DECtape, because of the very small disk.
The experiment was trying but successful. Not only did the Patent department adopt Unix, and thus become the first of many groups at the Laboratories to ratify our work, but we achieved sufficient credibility to convince our own management to acquire one of the first PDP 11/45 systems made.
Troff interprets a presentational markup and has a number of preprocessors for specialized tasks such as the construction of tables. As a modularized system connected by text streams, troff anticpates more modern systems for document production such as LaTeX and XML (though these represent an increasing move away from presentational to structural markup). For more information about troff see chapter 8 and chapter 18 of the Art of Unix Programming
Post a Comment