Tema 1 · 1964

RUNOFF: el formateador que inauguró la escritura asistida

En el CTSS del MIT, Jerome H. Saltzer creó RUNOFF para que los programadores dejaran de pelear con la impresora de línea. Con comandos que comenzaban con un punto, nacía el precedente directo de roff, troff y, décadas después, del Markdown que usamos hoy.

Plataforma: CTSS (IBM 7090/7094) Lenguaje: MAD + ensamblador Salida: impresora de línea · 6 lpp Licencia: software académico
Volver al índice Artículo en Wikipedia

Contexto

CTSS, tiempo compartido y la necesidad de maquetar

MIT · 1961-1964

El laboratorio de tiempo compartido

CTSS fue el primer sistema de tiempo compartido estable. Permitía sesiones interactivas en terminales conectadas a un IBM 7090/7094. RUNOFF nace ahí para formatear informes y manuales sin tocar la impresora a mano.

Jerome H. Saltzer

Autoría y propósito

Saltzer escribió RUNOFF como sucesor mejorado de TYPSET. Buscaba que los investigadores dedicaran tiempo a contenido, no a espaciados manuales en listados de línea.

Primeros usuarios

Ingenieros y documentación

Los usuarios eran programadores del MIT, autores de manuales y estudiantes que necesitaban informes con títulos, sangrías y saltos de página consistentes.

Cómo funcionaba

Comandos con punto, reglas tipográficas y flujo batch

RUNOFF leía un archivo de texto con “instrucciones” que comenzaban con un punto (.bp, .ce, .ti, .fo). El resto de líneas eran contenido plano. Al procesar, generaba una salida paginada y justificada para la impresora de línea.

Soportaba márgenes (.in), líneas por página (.pl), encabezados y pies (.he, .fo), centrados (.ce) y control de numeración. El formato final dependía de la tipografía monoespaciada del dispositivo y de los 6 líneas por pulgada típicos.

No había WYSIWYG: el usuario iteraba corriendo RUNOFF, viendo la impresión y corrigiendo comandos. Aun así, era mucho más rápido que editar cinta o tarjetas perforadas con códigos de formato.

Sintaxis mínima

.bp salto de página · .in 5 sangría en espacios · .ce 2 centrar 2 líneas · .ti tabulación · .fi/.nf activar/desactivar relleno.

Flujo de trabajo

De la terminal al papel

“RUNOFF permitió que el formato se expresara como código declarativo. Dejó de ser un truco en la impresora para ser parte del documento.” Archivo CTSS, 1964

Ecosistema

Hardware, sistema y usuarios objetivo

Hardware

IBM 7090/7094

Mainframes con memoria limitada. RUNOFF optimizaba cálculo de líneas sin desperdiciar ciclos.

Sistema operativo

CTSS

Tiempo compartido: permitía editar y lanzar RUNOFF de forma interactiva, no por lotes.

Usuarios

Investigadores y soporte

Quienes documentaban software, manuales de curso, papers y notas técnicas internas.

Licencia y distribución

Académico y compartido

Se distribuía dentro del MIT y a otros laboratorios que adoptaron CTSS; fue base de implementaciones en Multics.

Legado

Lo que RUNOFF dejó sembrado

troff/nroff

Joe Ossanna y Brian Kernighan tomaron RUNOFF como base conceptual para roff y luego troff en Unix (1970s).

Documentación técnica

Los man pages y manuales de Unix usan macros derivadas del paradigma RUNOFF.

Markdown y LaTeX

La idea de “texto + marcas simples” reaparece en Markdown (2004) y LaTeX hereda el pipeline de compilación.

Separación de formato

Introdujo la noción de describir formato por comandos declarativos, base de estilos reutilizables.

Comparativa rápida

RUNOFF frente a sus descendientes

  • RUNOFF
    Comandos con punto, pensado para impresora de línea; sin macros complejas.
  • troff
    Macros, tipografía proporcional y salidas fotocomposición para UNIX en los 70.
  • LaTeX
    Macromotor en TeX con semántica académica; separación total entre contenido y formato.
  • Markdown
    Marca mínima inspirada en roff/HTML; orientada a lectura directa en texto plano.
RUNOFF es el “punto cero” donde escribir y formatear se convirtieron en una sola actividad reproducible. Su simplicidad creó una curva de aprendizaje suave que aún buscamos en las herramientas modernas.

Curiosidades

Detalles para anotar

Origen del nombre

“Run off” significaba “sacar copia impresa”. El comando se volvió verbo en el laboratorio.

Formatos heredados

El manual del CTSS define .he/.fo; hoy todavía vemos macros .SH, .PP en man pages.

Compatibilidad

Su sintaxis se reimplementó en Multics y, más tarde, inspiró a Bell Labs para roff.

Economía de líneas

Al paginar a 6 líneas por pulgada y 66 líneas por página, optimizaba papel y tiempo de impresora.

Explora más

Saltar al siguiente procesador de texto