roff is a typesetting markup language. As the first Unix text-formatting computer program, it is a predecessor of the nroff and troff document processing systems.[1]: 290 

roff
Original author(s)Joe Ossanna, Ken Thompson
Developer(s)AT&T Bell Laboratories
Initial releaseNovember 3, 1971; 53 years ago (1971-11-03)
Operating systemUnix and Unix-like
TypeCommand

Roff was a Unix version of the runoff text-formatting program from Multics, which was a descendant of RUNOFF for CTSS (the first computerized text-formatting application). [1]

History

edit

CTSS

edit

roff is a descendant of the RUNOFF program by Jerry Saltzer, which ran on CTSS. Douglas McIlroy and Robert Morris wrote runoff for Multics in BCPL based on Saltzer's program written in MAD assembler. Their program in turn was "transliterated" by Ken Thompson into PDP-7 assembler language for his early Unix operating system, circa 1970.[2][3]

When the first PDP-11 was acquired for Unix in late 1970, the justification cited to management for the funding required was that it was to be used as a word processing system, and so roff was quickly transliterated again, into PDP-11 assembly, in 1971.

roff printed the man pages for Versions 1 through 3 of Unix, and when the Bell Labs patent department began using it, it became the first Unix application with an outside client.[4] Dennis Ritchie noted that the ability to rapidly modify roff (because it was locally written software) to provide special features was an important factor in leading to the adoption of Unix by the patent department to fill its word processing needs. This in turn gave UNIX enough credibility inside Bell Labs to secure the funding to purchase one of the first PDP-11/45s produced.[citation needed]

See also

edit

References

edit
  1. ^ a b Shotts, William E. (2019). The Linux command line: a complete introduction (2 ed.). San Francisco: No Starch Press. ISBN 978-1-59327-953-0.
  2. ^ Ritchie, Dennis M. (1984). "The Evolution of the Unix Time-sharing System". AT&T Bell Laboratories Technical Journal. 63 (6 Part 2): 1577–93. doi:10.1002/j.1538-7305.1984.tb00054.x. Archived from the original on 6 May 2010. As PDF
  3. ^ Van Vleck, Tom, ed. (20 April 2024). "Multics Features". Retrieved 6 May 2024.
  4. ^ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.

Sources

edit
  • D. M. Ritchie, The Evolution of the UNIX Time-sharing System (AT&T Bell Laboratories Technical Journal, Vol. 63, No. 8, October 1984)
edit