LITERATE PROGRAMMING DONALD 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.

Author:Febei Vorisar
Country:Turkmenistan
Language:English (Spanish)
Genre:Video
Published (Last):21 June 2006
Pages:434
PDF File Size:5.16 Mb
ePub File Size:13.30 Mb
ISBN:222-7-14892-302-7
Downloads:68213
Price:Free* [*Free Regsitration Required]
Uploader:Douramar



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.

ADOBE SOUNDBOOTH CS3 TUTORIAL PDF

Donald Knuth

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".

HALLS OF THE GIANT KINGS DU1 - DUNGEON TILES PDF

Literate programming

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. These arbitrary explanatory phrases become precise new operators, created on the fly by the programmer, forming a meta-language on top of the underlying programming language. The preprocessor also provides an ability to write out the content of the macros and to add to already created macros in any place in the text of the literate program source file, thereby disposing of the need to keep in mind the restrictions imposed by traditional programming languages or to interrupt the flow of thought.

CANTARI CRESTINE CU ACORDURI PDF

Biografie[ bewerken brontekst bewerken ] Don Knuth werd geboren in Milwaukee. Hij is hoogleraar aan de Stanford-universiteit , tegenwoordig met emeritaat , en wordt in brede kring beschouwd als de vader van de informatica. Zijn werk The Art of Computer Programming heeft hem al bij leven tot een legende gemaakt bij iedereen die iets met programmeren te maken heeft. ISBN Syntactical algorithms Theory of languages Compilers De laatste vier delen van zijn magnum opus zijn nog niet voltooid, maar Knuth werkt er nog aan verder, ondanks zijn emeritaat. Van deel 4 is inmiddels het eerste sub-deel gepubliceerd. Naast de vele beschrijvingen van algoritmen, die een standaardwerk zijn, heeft Donald Knuth ook veel werk gedaan om programmeertechnieken te ontwikkelen. Een van de technieken die hij ontwikkelde is het zogenaamde literate programming: de programmacode bevat niet alleen de instructies voor de computer, maar ook de volledige documentatie voor het programma.

Related Articles