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: Zololar Felar
Country: Sweden
Language: English (Spanish)
Genre: Travel
Published (Last): 20 October 2016
Pages: 92
PDF File Size: 20.55 Mb
ePub File Size: 6.98 Mb
ISBN: 822-5-43836-777-5
Downloads: 58967
Price: Free* [*Free Regsitration Required]
Uploader: Akinolrajas

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. Literate programming LP tools are used to obtain two representations from a literate source file: The first published literate programming environment was WEBintroduced by Donald Knuth in for his TeX typesetting system; it uses Pascal as its underlying programming language and TeX for typesetting of the documentation.

He proposed a way of taking a complicated program and breaking it into small parts. Thus the program can be described in a logical manner.

Such exposition of ideas creates the flow of thought that is like a literary work.

The reordering of code didn’t really do anything for me, nor did I find the use of special symbols to enhance a program’s readability. Rather than to present the program in the form in which it will be compiled or executedand to intercalate comments to help humans understand what is going on and which the compiler will kindly ignorethe presentation focuses on explaining to humans the design and construction of the program, while pieces of actual program code are inserted pfogramming make the description precise and to tell the computer what it should do.


Want to Read Currently Reading Read.

The un I really wanted to like this whole book, it programing nicely typeset, looks great, is organized, clear, etc, but I ended up not liking it a whole lot.

This gave me some experience with writing a program that was fairly easy to read.

Literate programming – Wikipedia

Develop small classes and small functions when feasible. Quotes from Literate Programming. Literate programming encourages meaningful documentation and the inclusion of details that are usually omitted in source code such as the description of algorithms, design decisions, and implementation strategy.

Read your first page: A hierarchical structure is present, but the most important thing about a program is its structural relationships. Then we had a student at Stanford whose name was Zabala-actually he’s from Spain and he has two names-but we call him Inaki; Ignacio is his name. 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.

If literate programming ever takes off, it won’t look quite like this.

Literate Programming

In addition to fundamental contributions in several branches of theoretical computer science, Knuth is the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system, and the Computer Modern family of typefaces. Actually, literate programming uses a method that differs from this only trivially from a formal standpoint, but has a great advantage in practical terms: Dobbs Journal, Marchpg.

If Microsoft had made source files XML, tens of thousands of programmers would already be putting pictures and hyperlinks in their code.


This integration must lierate understood as a will to close cooperation with the other holons for the emergence of a “tougher” and more efficient component. Open Preview See a Problem?

Scattered in amongst the program code are comments which describe the various parts of the code. The program description should describe parts of the algorithm as they occur in the design process, rather than in the completed program text.

Re-think or refactor code which is difficult to understand. As I was writing TeX I was using for the second time in my life ideas called “structured litterate, which were revolutionizing the way computer programming was done in the middle 70s.

At best, a professor might publish very small routines as examples of how to write a program. This was a very scary knut, for a professor of computer science to show someone a large program.

Literate programming: Knuth is doing it wrong

WEB’s design encourages writing programs in small chunks which Knuth called modules he literafe used the term sections. In I wrote my first structured program; it was fairly good sized-maybe, I don’t know, 50, lines of code, something like that. It includes significant useful and pragmatic programming advice. A paradigm shift for how humans should describe what they intend the computers do.

I may not be able to read your message until many months have gone by, because I’m working intensively on The Art of Computer Programming.