troff
troff
(text, tool)In 1979, Brian Kernighan modified troff so that it could drivephototypesetters other than the Graphic Systems CAT. Hispaper describing that work ("A Typesetter-independent troff",AT&T CSTR #97) explains troff's durability. After discussingthe program's "obvious deficiencies - a rebarbative inputsyntax, mysterious and undocumented properties in some areas,and a voracious appetite for computer resources" and notingthe ugliness and extreme hairiness of the code and internals,Kernighan concludes:
None of these remarks should be taken as denigratingOssanna's accomplishment with TROFF. It has proven aremarkably robust tool, taking unbelievable abuse from avariety of preprocessors and being forced into uses thatwere never conceived of in the original design, all withconsiderable grace under fire.
The success of TeX and desktop publishing systems havereduced troff's relative importance, but this tributeperfectly captures the strengths that secured troff a place inhacker folklore; indeed, it could be taken more generally asan indication of those qualities of good programs that, in thelong run, hackers most admire.
groff is GNU's implementation of roff in C++.