La programación literaria (o letrada) es un estilo de programación propuesto por Donald Knuth para documentar los programas.[1]​ Él mismo la empleo en su sistema tipográfico .

El estilo de programación literaria como se le ha llamado en español o programación letrada o instruida como se traduce literalmente, tal y como lo concibió Knuth, representa un movimiento disruptivo respecto a la escritura de programas en el orden y forma impuesto por el ordenador. En cambio permite a los programadores desarrollar sus programas en el orden fijado por la lógica y el flujo de sus pensamientos.[1]

Qué es la programación literaria o letrada

editar
Debo confesar que también puede haber un poco de malicia en mi elección del título. Durante la década de los setenta, fui forzado, como todos, a adoptar las ideas de la programación estructurada, porque no podía soportar que se me culpara de escribir programas desestructurados. Ahora tengo la oportunidad de vengarme. Al acuñar la frase «programación letrada», estoy imponiendo un compromiso moral a todo aquel que oye el término; seguro que nadie quiere reconocer que escribió un programa iletrado.
Donald E. Knuth, Literate Programming (énfasis en el original)

Los programas literarios o letrados, están escritos como una exposición lógica en un lenguaje humano similar a la explicación de las fórmulas empleadas para representar y resolver un problema en un texto de física o de matemáticas. Se basa en describir el análisis del problema y la génesis de la solución así como su implementación insertando cómo se deriva cada fragmento del programa intercalando código fuente entre los párrafos cómo en los textos de matemáticas se intercalan las fórmulas. Se usan macros, para que mediante preprocesadores como el programa WEB se separe y ordene el programa fuente para compilarlo, así como el código para producir la documentación en una tipografía estética del mismo programa porque actualmente se dispone de para prácticamente cualquier computadora.

La programación literaria facilita enormemente la programación, porque se documenta perfectamente en qué consiste el problema, cómo se resuelve, cómo y por qué se adoptó cierto diseño, cómo se optimizó y cómo se implementó en el lenguaje de programación. Cualquiera puede leerlo y entenderlo. No tiene que descifrar código para entender cómo funciona el programa para entender qué hace. Ni buscar en otra parte para aprender sobre el problema que resuelve, salvo en la bibliografía citada en el programa, porque todo se incluye en el mismo lugar.


Referencias

editar
  1. a b Knuth, Donald E. (1984). «Literate Programming» (PDF). The Computer Journal (British Computer Society) 27 (2): 97-111. doi:10.1093/comjnl/27.2.97. Consultado el 4 de enero de 2009. 

Bibliografía

editar

Enlaces externos

editar

📚 Artikel Terkait di Wikipedia

Tcl

Tcl (pronunciado /tí.quel/, originado del acrónimo en inglés "Tool Command Language" o "lenguaje de herramientas de comando", actualmente se escribe como

Piet (lenguaje de programación)

PietCreator - A cross platform debugger and development GUI tool for Piet (en inglés) Datos: Q1886145 Multimedia: Piet (programming language) / Q1886145

JACK Audio Connection Kit

Baudline - a signal analysis tool SuperCollider - a real-time audio programming language ChucK - a real-time audio programming language CheeseTracker - an

JTAG

an enhanced, modern tool for communicating over JTAG with flash chips, CPUs, and many more JTAG Technologies Test and programming development systems

Apache Ant

se lanza bajo la licencia Apache Software. ANT (siglas de "Another Neat Tool", en español «Otra Ingeniosa Herramienta», que en inglés significan «hormiga»​)

Programación genética

artificial, la programación genética (GP, de sus siglas en inglés: Genetic Programming) es una metodología basada en los algoritmos evolutivos e inspirada en

Programación estructurada

BPStruct - A tool to structure concurrent systems (programs, process models) J. Darlinton; M. Ghanem; H. W. To (1993), «Structured Parallel Programming», In Programming

Google translator toolkit

OpenOffice, RTF, HTML, texto, artículos de Wikipedia y Knols. Google Translator Tool cuenta con el apoyo del Traductor de Google, un servicio gratuito de traducción