Literate programming: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m WPCleaner v2.01 - Fixed using Wikipedia:Check Wikipedia (Errori comuni - Template con parametri duplicati)
FrescoBot (discussione | contributi)
m Bot: apostrofo dopo l'articolo indeterminativo
Riga 3:
Il paradigma del literate programming, come concepito da Knuth, rappresenta un allontanamento dalla scrittura di programmi per computer nel modo e nell'ordine imposti dal computer, e consente invece ai [[Programmatore informatico|programmatori]] di sviluppare programmi nell'ordine richiesto dalla logica e dal flusso dei loro pensieri.<ref>{{Cita|Knuth}}{{Citazione|I had the feeling that top-down and bottom-up were opposing methodologies: one more suitable for program exposition and the other more suitable for program creation. But after gaining experience with WEB, I have come to realize that there is no need to choose once and for all between top-down and bottom-up, because a program is best thought of as a web instead of a tree. A hierarchical structure is present, but the most important thing about a program is its structural relationships. A complex piece of software consists of simple parts and simple relations between those parts; the programmer's task is to state those parts and those relationships, in whatever order is best for human comprehension not in some rigidly determined order like top-down or bottom-up}}</ref> I literate programs sono scritti come un'esposizione ininterrotta della logica in un linguaggio umano ordinario, proprio come il testo di un [[saggio]], in cui sono incluse le macro per nascondere le astrazioni e il [[codice sorgente]] tradizionale.
 
Gli strumenti per il literate programming (LP) vengono utilizzati per ottenere due rappresentazioni da un file sorgente literate: uno adatto per ulteriori compilazioni o [[File eseguibile|esecuzioni]] da un computer, il codice "aggrovigliato" o "tangled" e un altro per la visualizzazione come documentazione formattata, che si dice sia "intessuta" o "woven".<ref name="ObliqueScottReference">Se si ricorda ch la prima versione dello strumento era chiamata WEB, l'interessante riferimento letterario nascosto da Knuth in questi nomi diventa ovvio:{{Citazione|Oh, what a tangled web we weave when first we practise to deceive|autore=[[Sir Walter Scott]], in Canto VI, Stanza 17 di ''[[Marmion (poema)|Marmion]]'' (1808), un poema epico sulla [[battaglia di Flodden Field]] del 1513.}} La citazione reale apparve come un 'epigrafe all'interno di un articolo pubblicato nel maggio del 1986 da Jon Bentley e Donald Knuth in una colonna di ''Programming Pearls'', presente in ''Communications of the ACM'', vol. 29, n. 5, p.365.</ref> Mentre la prima generazione di strumenti di literate programming era specifica per un certo linguaggio di programmazione, i successivi sono indipendenti ed esistono al di sopra di questi.
 
== Storia e filosofia ==