Donald Knuth. “Literate Programming ()” in Literate Programming. CSLI, , pg. I believe that the time is ripe for significantly better documentation of . 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: Tadal Faukora
Country: Ukraine
Language: English (Spanish)
Genre: Business
Published (Last): 24 August 2004
Pages: 17
PDF File Size: 20.8 Mb
ePub File Size: 9.82 Mb
ISBN: 173-9-69987-321-3
Downloads: 45473
Price: Free* [*Free Regsitration Required]
Uploader: Kajisho

Literate programming

I find the structure extremely useful to re-discovering how a particular node is configured. We believe that the literate programming approach is a valuable way to introduce ideas in computer graphics and computer science in general. Quick introduction to literate programming by Chris Lee. I don’t remember all the details of what I did, but: Cheaper, no – with LP learning a new codebase takes much less time than usual. This neologism is from Greek “holos”, i.

A traditional computer program consists of a text file containing program code.

Literate programming – Wikipedia

There are various other implementations of the literate programming concept some of them don’t have macros and hence violate the order of human logic principle:. The number of lines in a file is Literate programs are written to be read by other software developers.

But until English can be executed by a computer, you must use programming languages to get the lump of sand to do stuff. I could go on, and on, why a wiki is not optimal for any documentation associated to a software project.

  Hello World

The fundamental logic of the WEB system encourages progranming programming and “structured” design.

Aaah, sorry, guess I thought you were saying something that was more of an actual value judgment. There are different techniques to ;rogramming end and LP is one of the more powerful among them.

Most implementations are incredibly short lived so that it seems futile to optimize the code for understanding literate programmingwhen much less programming experience, comments and help by people who know the code base is good enough. Code reviews were essential and mandatorybut every code review was thus as much a design review as a code review, and the text and diagrams were being reviewed as much as the design; it wasn’t enough to just write good code – the text had to make it easy for someone fresh to it to understand the design and layout of the code.

The Pander R package renders objects into Pandoc’s markdown. Most of the errors in the first two printings were corrected in the third printing, but several minor errors have been found lirerate sharp-eyed readers of the fourth printing or the fifth printing or the sixth printing Knuth’s broader ideas about documentation and structured programming are laid out in his book, “Literate Programming. Its first goal is the porgramming.

Ask HN: Why did literate programming not catch on? | Hacker News

If programs are written in a way that concentrates on explaining their design to human readers, then they can be considered as works of technical literature; it is for this reason that Knuth has named this style of software construction and description “literate programming”.

Literate programming is useful for programs of all sizes. Knuth also claims pprogramming Literate Programming can lead to easy porting of software to multiple environments, and even cites the implementation of TeX as an example.


But isn’t the progranming of literate exactly that?

There was little revisiting or rewriting, and usually the first version written was the last version written. When the text was munged, a beautiful pdf document containing all the code and all the commentary laid out in a sensible order was created for humans to read, and the source code was also created for the compiler to eat. That’s another story I can tell you about sometime.

By the end I wasn’t really using Leo, because it wasn’t solving my problems. Instead of lietrate provided as side notes to source code a literate program contains the explanation of concepts on each level, with lower level concepts deferred to their appropriate place, which allows for better communication of thought. It is used for instance to analyze complex living organisms or complex social systems.

Actually, literate programming uses a method that differs from this only trivially from a formal standpoint, but has a great advantage in practical terms: Literate programming was first introduced by Donald E. Literate programs utilize sections which enable the developer to describe blocks of code in a convenient manner.

There are many factors involved in developing excellent software.