Articulo de referencia

Web (sistema de programación)

Web , tradicionalmente escrito WEB, es un sistema de programación informática creado por Donald Knuth como la primera implementación de lo que él llamó " programación literaria ...

Web , tradicionalmente escrito WEB, es un sistema de programación informática creado por Donald Knuth como la primera implementación de lo que él llamó " programación literaria ": [ 1 ] su idea de que se podía crear software como obras literarias , al incrustar el código fuente en texto descriptivo, en lugar de al revés. A diferencia de la práctica de programación estándar que relega la documentación a los comentarios, el enfoque de WEB es escribir un artículo para documentar la creación del código fuente e incluir todo el código fuente en ese artículo, de modo que sea compilable a partir de él.

Filosofía

La práctica común en la mayoría de los lenguajes de programación es que el texto principal sea el código fuente, complementado opcionalmente con texto descriptivo en forma de comentarios. Knuth propuso que priorizar el texto descriptivo consistía en organizar las cosas en un orden más conveniente para los lectores humanos, en lugar del orden exigido por los compiladores . [ 2 ]

Al igual que los artículos TeX, el texto fuente web se divide en secciones según el flujo de la documentación. Por ejemplo, en CWEB, las secciones de código se intercalan sin problemas en la línea de argumentación. [ 3 ]

Implementaciones

El sistema WEB original depende de Pascal y consta de dos programas:

  • TANGLE, que produce código Pascal compilable a partir de los textos fuente, y
  • WEAVE, que mediante el uso de TeX produce documentación imprimible con un formato atractivo a partir de los mismos textos fuente.

Otros:

Los programas más importantes escritos en Web son TeX y Metafont . Sin embargo, las distribuciones modernas de TeX utilizan otro programa llamado Web2C para convertir el código fuente de Web a C.

CWEB

CWEB es un sistema de programación informática creado por Donald Knuth y Silvio Levy como continuación del sistema de programación WEB de Knuth , que utiliza el lenguaje de programación C (y en menor medida los lenguajes de programación C++ y Java ) en lugar de Pascal .

Al igual que la WEB, consta de dos programas principales:

  • CTANGLE, que produce código C compilable a partir de los textos fuente, y
  • CWEAVE, que produce documentación imprimible con un formato atractivo utilizando TeX .

Características

  • Se puede introducir código TeX tanto de forma manual como automática.
  • Hace que el formato del código C sea adecuado para la impresión con formato legible .
  • Puede definir secciones y contener documentación y códigos, que luego pueden incluirse en otras secciones.
  • Escribe el código de cabecera y el código principal en C en un solo archivo, y puede reutilizar las mismas secciones, y luego se puede dividir en varios archivos para su compilación.
  • Utiliza #lineesta directiva para que cualquier advertencia o error haga referencia al archivo fuente .w.
  • Incluir archivos.
  • Modificar archivos, que se pueden integrar automáticamente en el código al compilar o imprimir.
  • Genera un índice de identificadores y nombres de secciones en la impresión.

Véase también

  • Generadores de documentación : si bien son comparables con WEAVE de la web, generalmente siguen la práctica estándar de priorizar el código fuente, lo contrario del enfoque web.

Referencias

  1. "Knuth y Levy: CWEB" . cs.stanford.edu . Consultado el 27 de octubre de 2025 .
  2. Knuth, Donald E. (1992). Literate Programming . CSLI Lecture Notes. Vol. 27. Stanford, California: Center for the Study of Language and Information. 
  3. Silvio Levy (12 de junio de 2004). "Un ejemplo de CWEB" (PDF) . Archivado del original (PDF) el 20 de octubre de 2021.
  • La entrada del catálogo TeX para Web
  • Página principal de CWEB
  • Ejemplos de programas escritos en Web , por Donald Knuth (1981 en adelante)