Files
JargonFile/original/html/T/troff.html

28 lines
3.8 KiB
HTML
Raw Normal View History

2014-03-27 18:54:56 +00:00
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>troff</title><link rel="stylesheet" href="../../jargon.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"/><link rel="home" href="../index.html" title="The Jargon File"/><link rel="up" href="../T.html" title="T"/><link rel="previous" href="trivial.html" title="trivial"/><link rel="next" href="troglodyte.html" title="troglodyte"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">troff</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="trivial.html">Prev</a><EFBFBD></td><th width="60%" align="center">T</th><td width="20%" align="right"><EFBFBD><a accesskey="n" href="troglodyte.html">Next</a></td></tr></table><hr/></div><dt><a id="troff"/><dt xmlns="" id="troff"><b>troff</b>: <span xmlns="http://www.w3.org/1999/xhtml" class="pronunciation">/T<>rof/</span>, <span xmlns="http://www.w3.org/1999/xhtml" class="pronunciation">/trof/</span>, <span xmlns="http://www.w3.org/1999/xhtml" class="grammar">n.</span></dt></dt><dd><p> [Unix] The gray eminence of Unix text processing; a formatting and
phototypesetting program, written originally in <a href="../P/PDP-11.html"><i class="glossterm">PDP-11</i></a> assembler and then
in barely-structured early C by the late Joseph Ossanna, modeled after the
earlier ROFF which was in turn modeled after the
<a href="../M/Multics.html"><i class="glossterm">Multics</i></a> and <a href="../C/CTSS.html"><i class="glossterm">CTSS</i></a> program
RUNOFF by Jerome Saltzer (<span class="emphasis"><em>that</em></span> name came from the
expression &#8220;<span class="quote">to run off a copy</span>&#8221;). A companion program,
<span class="application">nroff</span>, formats output for terminals and line
printers.</p><p>In 1979, Brian Kernighan modified troff so that it could drive
phototypesetters other than the Graphic Systems CAT. His paper describing
that work (&#8220;<span class="quote">A Typesetter-independent troff,</span>&#8221; AT&amp;T CSTR
#97) explains troff's durability. After discussing the program's
&#8220;<span class="quote">obvious deficiencies &#8212; a rebarbative input syntax, mysterious
and undocumented properties in some areas, and a voracious appetite for
computer resources</span>&#8221; and noting the ugliness and extreme hairiness of
the code and internals, Kernighan concludes:</p><div class="blockquote"><blockquote class="blockquote"><p>None of these remarks should be taken as denigrating
Ossanna's accomplishment with TROFF. It has proven a
remarkably robust tool, taking unbelievable abuse from a
variety of preprocessors and being forced into uses that
were never conceived of in the original design, all with
considerable grace under fire.</p></blockquote></div><p>The success of <a href="TeX.html"><i class="glossterm">TeX</i></a> and desktop publishing
systems have reduced <b class="command">troff</b>'s relative
importance, but this tribute perfectly captures the strengths that secured
<b class="command">troff</b> a place in hacker folklore; indeed,
it could be taken more generally as an indication of those qualities of
good programs that, in the long run, hackers most admire.</p></dd><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="trivial.html">Prev</a><EFBFBD></td><td width="20%" align="center"><a accesskey="u" href="../T.html">Up</a></td><td width="40%" align="right"><EFBFBD><a accesskey="n" href="troglodyte.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">trivial<EFBFBD></td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"><EFBFBD>troglodyte</td></tr></table></div></body></html>