roff es un lenguaje de marcado para composición tipográfica . Como primer programa informático de formato de texto Unix , es un predecesor de los sistemas de procesamiento de documentos nroff y troff . [1] : 290
Roff era una versión Unix del programa de formato de texto runoff de Multics , que era un descendiente de RUNOFF para CTSS (la primera aplicación de formato de texto computarizada). [1]
roff es un descendiente del programa RUNOFF de Jerry Saltzer , que se ejecutaba en CTSS . Douglas McIlroy y Robert Morris escribieron runoff
para Multics en BCPL basándose en el programa de Saltzer escrito en ensamblador MAD . Su programa, a su vez, fue "transliterado" por Ken Thompson al lenguaje ensamblador PDP-7 para su primer sistema operativo Unix, alrededor de 1970. [2] [3]
Cuando se adquirió el primer PDP-11 para Unix a finales de 1970, la justificación citada ante la gerencia para la financiación requerida fue que se iba a utilizar como un sistema de procesamiento de textos , por lo que roff fue rápidamente transcrito nuevamente al ensamblador PDP-11 en 1971.
roff imprimió las páginas de manual para las versiones 1 a 3 de Unix, y cuando el departamento de patentes de Bell Labs comenzó a utilizarlo, se convirtió en la primera aplicación Unix con un cliente externo. [4] Dennis Ritchie señaló que la capacidad de modificar rápidamente roff (porque era un software escrito localmente) para proporcionar características especiales fue un factor importante que llevó a la adopción de Unix por parte del departamento de patentes para satisfacer sus necesidades de procesamiento de textos. Esto, a su vez, le dio a UNIX la credibilidad suficiente dentro de Bell Labs para asegurar la financiación para comprar uno de los primeros PDP-11/45 producidos. [ cita requerida ]