Saltar para o conteúdo

Programação letrada

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Programação literária)

Programação letrada (do inglês literate programming[a]) é um paradigma de programação baseada na premissa que um programa de computador deve ser escrito tendo a legibilidade humana como principal objetivo, similar a um trabalho de literatura. De acordo com essa filosofia, programadores devem almejar um estilo "literário" em sua programação tanto quanto escritores buscam um estilo inteligível e articulado em sua escrita. Essa filosofia contrasta com a visão mais comum que diz que o objetivo principal ou único do programador é criar código fonte e que a documentação deve ser apenas um objetivo secundário.

Na prática, programação literária é atingida pela combinação da documentação (legível por humanos) e código fonte (legível pela máquina) em um único arquivo (ficheiro) fonte, de modo a manter uma correspondência próxima entre a documentação e o código fonte. A ordem e a estrutura desse arquivo são especificamente projetadas para auxiliar a compreensão humana: código e documentação juntos são organizados em ordem lógica e/ou hierárquica (tipicamente de acordo com um esquema que acomode explicações detalhadas e comentários como necessárias). Ao mesmo tempo, a estrutura e o formato dos arquivos fontes acomodam utilitários externos que geram documentação do programa e/ou extraem o código legível por máquina dos mesmos arquivos fontes (para processamento subseqüente por compiladores ou interpretadores).

O primeiro ambiente de programação literária publicado foi WEB, introduzido por Donald Knuth em 1981 para seu sistema de tipografia TeX; ele usa Pascal como sua linguagem de programação subjacente e TeX para tipografia da documentação.


Notas

  1. Encontra-se a tradução programação literária mas ela não é ideal, uma vez que "literate" em inglês tem as acepções (1) "alfabetizado" ou (2) "educado, que se educou". Ambas são acepções de "letrado" em português. A melhor tradução de "literário" para o inlgês seria "literary".