LITERATE PROGRAMMING KNUTH PDF

Oct 3, Literate programming: Knuth is doing it wrong Literate programming advocates this: Order your code for others to read, not for the compiler. Beautifully typeset your code so one can curl up in bed to read it like a novel. Keep documentation in sync with code. I have two beefs with it: the ends are insufficiently ambitious by focusing on a passive representation; and the means were insufficiently polished, by over-emphasizing typesetting at the cost of prose quality. Elaboration, in reverse order: Canonizing typesetting over organization When I look around at the legacy of literate programming, systems to do so-called semi- or quasi-literate programming dominate. These are systems that focus on generating beautifully typeset documentation without allowing the author to arbitrarily order code.

Author:Tom Zugore
Country:Albania
Language:English (Spanish)
Genre:History
Published (Last):2 April 2010
Pages:371
PDF File Size:14.84 Mb
ePub File Size:7.31 Mb
ISBN:154-3-43344-789-8
Downloads:29728
Price:Free* [*Free Regsitration Required]
Uploader:Galkree



Storia e filosofia[ modifica modifica wikitesto ] Il literate programming fu introdotto per la prima volta da Knuth nel Le macro in un file sorgente literate sono semplicemente frasi simili a titoli o esplicative in un linguaggio umano, che descrivono le astrazioni umane create risolvendo il problema di programmazione, e nascondendo blocchi di codice o macro di livello inferiore. Queste frasi esplicative arbitrarie diventano precisi nuovi operatori, creati al volo dal programmatore, formando un meta-linguaggio in cima al linguaggio di programmazione sottostante.

Un preprocessore viene utilizzato per sostituire gerarchie arbitrarie, o piuttosto "reti" di macro "interconnesse, [5] per produrre il codice sorgente compilabile con un comando "tangle" o "groviglio" e la documentazione con un altro "weave" o "trama". Questo malinteso ha portato alcuni a sostenere che gli strumenti di estrazione dei commenti, che i sistemi Perl Plain Old Documentation o Java Javadoc , siano "strumenti per il literate programming".

Knuth produsse un lungo listato monolitico di 8 pagine che fu pubblicato insieme a una critica di Douglas McIlroy di Bell Labs. Apprezzo la disciplina. Non apprezzo il risultato. Creazione di macro[ modifica modifica wikitesto ] Il frammento seguente del literate program wc [15] mostra come frasi descrittive arbitrarie in un linguaggio naturale vengono utilizzate per creare macro, che fungono da nuovi "operatori" nel linguaggio di programmazione literate e nascondono blocchi di codice o altre macro.

The number of lines in a file is Programma come Web: le macro non sono solo nomi di sezioni[ modifica modifica wikitesto ] Le macro non corrispondono ai "nomi di sezione" nella documentazione standard. We look at each character and change state if it begins or ends a word. Knuth dice che quando ha realizzato questo, ha iniziato a pensare a un programma come a una rete di varie parti.

If we made these variables local to main, we would have to do this initialization explicitly; however, C globals are automatically zeroed. Invece dei commenti forniti come note a margine del codice sorgente, un literate program contiene la spiegazione dei concetti su ciascun livello, con concetti di livello inferiore rinviati al loro posto appropriato, cosa che consente una migliore comunicazione del pensiero.

I frammenti di wc sopra mostrano come si intrecciano la spiegazione del programma e del suo codice sorgente. Knuth ha scritto un "romanzo" che spiega il codice del gioco di narrativa interattiva Colossal Cave Adventure. Si ispirava alle idee di Pierre-Arnoul de Marneffe. Lo fa in una sola invocazione; non ha comandi di trama e groviglio separati. Circa Utilizza il markup "noweb" per i file di origine literate. Invece di estrarre il codice sorgente leggibile dal compilatore dalle fonti di documentazione, la documentazione literate viene estratta dai normali file di codice sorgente leggibili dalla macchina.

Questo consente a questi file di codice sorgente di essere modificati e mantenuti come al solito. Tali strumenti, tuttavia, generano documentazione di riferimento API, mentre Codnar genera una narrazione lineare che descrive il codice, simile a quella creata dai classici strumenti LP. Tuttavia, questa e altre estensioni nodi file rendono la programmazione della struttura e la gestione del testo efficaci e facilmente gestibili ed in qualche modo simili al literate programming.

CHAIM WEIZMANN TRIAL AND ERROR PDF

Literate programming

Leave Feedback Donald Knuth. CSLI, , pg. I believe that the time is ripe for significantly better documentation of programs, and that we can best achieve this by considering programs to be works of literature. Hence, my title: "Literate Programming.

BULCHANDANI BUSINESS LAW PDF

The main intention behind this approach was to treat a program as literature understandable to human beings. This approach was implemented at Stanford University as a part of research on algorithms and digital typography. Macros in a literate source file are simply title-like or explanatory phrases in a human language that describe human abstractions created while solving the programming problem, and hiding chunks of code or lower-level macros. These macros are similar to the algorithms in pseudocode typically used in teaching computer science.

Related Articles