Troff - History

History

troff can trace its origins back to a text formatting program called RUNOFF, written by Jerome H. Saltzer for MIT's CTSS operating system in the mid-1960s. (The name allegedly came from the phrase at the time, I'll run off a document.)

Bob Morris ported it to the GE 635 architecture and called the program roff (an abbreviation of runoff). It was rewritten as rf for the PDP-7, and at the same time (1969), Doug McIlroy rewrote an extended and simplified version of roff in the BCPL programming language.

The first version of Unix was developed on a PDP-7 which was sitting around Bell Labs. In 1971 the developers wanted to get a PDP-11 for further work on the operating system. In order to justify the cost for this system, they proposed that they would implement a document-formatting system for the AT&T patents division. This first formatting program was a reimplementation of McIllroy's roff, written by Joe F. Ossanna.

When they needed a more flexible language, a new version of roff called nroff (newer 'roff' ) was written. It had a much more complicated syntax, but provided the basis for all future versions. When they got a Graphic Systems CAT phototypesetter, Ossanna wrote a version of nroff that would drive it. It was dubbed troff, for typesetter 'roff'. As such, the name troff is pronounced /ˈtiː.rɒf/ rather than */ˈtrɒf/.

With troff came nroff (they were actually almost the same program), which was for producing output for line printers and character terminals. It understood everything troff did, and ignored the commands which were not applicable (e.g. font changes).

Unfortunately, Ossanna's troff was written in PDP-11 assembly language and produced output specifically for the CAT phototypesetter. He rewrote it in C, although it was now 7000 lines of uncommented code and still dependent on the CAT. As the CAT became less common, and was no longer supported by the manufacturer, the need to make it support other devices became a priority. Unfortunately, Ossanna died before this task was completed.

So, Brian Kernighan took on the task of rewriting troff. The newly rewritten version produced a device-independent code which was very easy for postprocessors to read and translate to the appropriate printer codes. Also, this new version of troff (often called ditroff for device independent troff) had several extensions, which included drawing functions. The program's documentation defines the output format of ditroff, which is used by many modern troff clones like GNU groff.

The troff collection of tools (including pre- and post-processors) was eventually called Documenter's WorkBench (DWB), and was under continuous development in Bell Labs and later at the spin-off Unix System Laboratories (USL) through 1994. At that time, SoftQuad took over the maintenance, although Brian Kernighan continued to improve troff on his own. There are thus currently four variants of the original Bell Labs troff:

  • An ancient variation from Bill Joy, still shipped by Sun Microsystems.
  • The SoftQuad DWB, based on USL DWB 2.0 from 1994
  • The DWB 3.4 from Lucent Software Solutions (USL)
  • Troff, Plan 9 edition

Use of troff and family was reduced somewhat in the 1990s, but it is still being used quite extensively. While troff has been supplanted by other programs such as Interleaf, FrameMaker and LaTeX, it is still the default format of the UNIX documentation.

The software was reimplemented as groff for the GNU system beginning in 1990. In addition, due to the open sourcing of Ancient UNIX Systems, as well as modern successors such as OpenSolaris and Plan 9 from Bell Labs, several versions of AT&T troff are available under various open source licenses.

Read more about this topic:  Troff

Famous quotes containing the word history:

    All history is a record of the power of minorities, and of minorities of one.
    Ralph Waldo Emerson (1803–1882)

    When the history of this period is written, [William Jennings] Bryan will stand out as one of the most remarkable men of his generation and one of the biggest political men of our country.
    William Howard Taft (1857–1930)

    The history of all countries shows that the working class exclusively by its own effort is able to develop only trade-union consciousness.
    Vladimir Ilyich Lenin (1870–1924)