Donald Knuth. “Literate Programming ()” in Literate Programming. CSLI, , pg. I believe that the time is ripe for significantly better documentation of . 3 Oct Literate programming: Knuth is doing it wrong. Literate programming advocates this: Order your code for others to read, not for the compiler. Literate Programming is also the name of DonKnuth’s book (ISBN One speculation for the reason behind Knuth’s pushing of LP is that according to Stanford’s.

Author: Digor Gagrel
Country: Indonesia
Language: English (Spanish)
Genre: Health and Food
Published (Last): 4 March 2018
Pages: 126
PDF File Size: 5.94 Mb
ePub File Size: 20.52 Mb
ISBN: 175-7-98201-455-6
Downloads: 6797
Price: Free* [*Free Regsitration Required]
Uploader: Faezil

Dave rated it liked it May 03, Thanks for telling us about the problem. John Jacobsma rated it liked it Feb 20, I will say that it provides a very nice historical context into kmuth software creation has progressed. Literate programming Computer-related introductions in Alan rated it really liked it Aug 28, Matt Pharr and Greg Humphries.

Literate Programming

This of course helps readers. They write a drop-in replacement to Unix’s wc program which counts words, lines or characters.

Read your first page: Retrieved January 4, Hoare had heard rumors about my work and he wrote to Stanford suggesting that I keep publication in mind.

Had been sitting on my shelf at work for a while, finally polished it off. Trivia About Literate Programming. Common Wordsthe follow-up column in which Knuth wrote a literate program as asked, accompanied by a review by Doug McIlroy. These holons are submitted to some rigid rules; they perform the “detail” operations which, put together, compose the function of the former holon.

The program is also viewed as a hypertext document, rather like the World Wide Web. No trivia or quizzes yet.

Literate Programming

I had a discussion with him in approximately ; I’m trying to remember the exact programminh, maybeyes,perhaps when I visited Newcastle?

Knuth wrote a “novel” which explains the code of the interactive fiction game Colossal Cave Adventure. Modules have three parts: Hanson demonstrates that “literate programming” is a viable approach to creating works of craft as well as works of art.

FunnelWeb Tutorial Manual, pg 4. No longer does the English commentary injected into a program have to be hidden in comment delimiters at the top of the file, or under procedure headings, or at the end of lines.


In other words, programmjng programming promises many — though not all — of the benefits of formal methods without some of the hassle. However, I promise to reply in due time. A Survey,pg. Literate programming LP tools are used to obtain two representations from a literate source file: A hierarchical structure is present, but the most important thing about a program is its structural relationships.

Oct 22, Enrico rated it really liked it. Webarchive template wayback links Wikipedia articles needing clarification from September CS1 errors: Parts of the program that belong together liferate should appear near to each other in the description, so that they are visible from the part of the documentation that discusses their function. Actually, writing out the expanded source code can be done from any section or subsection i. The first feature means that literate programming can be useful even if you don’t write a single line of comments.

The following snippet of the wc literate program [10] shows how arbitrary descriptive phrases in a natural language are used in a literate program to create macros, which act as new “operators” in the literate programming language, and hide chunks of code or other macros. Organize large source code files using an outlining editor Leo. WEB’s design encourages writing programs in small chunks which Knuth called modules he also used the term sections.

This differs from traditional documentation, in which a programmer is presented with source code that follows a compiler-imposed order, and must decipher the thought process behind the program from the code and liteeate associated comments.

The meta-language capabilities of literate programming are also claimed to facilitate thinking, giving a higher “bird’s eye view” of the code and increasing the number of concepts the mind can successfully retain and process. Again, I did this in the interests of simplicity, because I noticed that most applications of multiple parameters could in fact be reduced to the one-parameter case.

Literate programming

If jnuth made these variables local to main, we would have to do this initialization explicitly; however, C globals progrwmming automatically zeroed. We believe that the literate programming approach is a valuable way to introduce ideas in computer graphics and computer science in general.


Of course, I developed TeX so that it would try to continue a history of hundreds of years of different ideas. Then when I started writing TeX in this period I began the implementation of TeX in October ofand I finished it in May 78it was consciously done with structured programming ideas.

Ryan Dean rated it literafe it Aug 11, We look at each character and change state if it begins or ends a word. It is not an ideal book for evangelizing literate programming, however; one wishes that someone, preferably Knuth, had written a book that is not so tied to the particular combination of Pascal and TeX with its documentation designed for paper, with page numbers and indexesunfamiliar to the majority of programmers today.

I’m not entirely sure what to think about this book. There are no discussion topics on this book yet. This neologism is from Greek “holos”, i.

Literate programming – Wikipedia

I discovered from reading some of the articles, you know, I could find three bugs in a program that was proved correct. The articles have been revised, extended, and brought up to litrate. Of course, other computer scientists have made contributions to the field that are every bit as substantial most notably Edsger Dijkstra, Charles Hoare and Niklaus Wirth.

By combining the two, we can develop a style of programming that maximizes our ability to perceive the structure of a complex piece of software, and at the same time the documented programs can be mechanically translated into a working software system that matches the documentation. He attributes TeX’s being bug-free besides opinions held by some that TeX itself is a bug to literate programming, and this analysis was possible because he kept a detailed log, which is reproduced as Chapter literwte Moreover, who documents them in a pedagogical style that is easy to understand?