I think a problem with literate programming is that programs are never written from top to bottom, at least not in conventional programming languages. The same holds for books, of course, but not in such a dramatic way. Therefore, I think the best way to read a program is not from top to bottom, but rather by using some kind of search tool.<p>By the way, does anybody know of an automated way to &quot;grade&quot; the quality of code documentation? I think this is what we need on repositories such as github, as it could stimulate the production of documentation of better quality  (in most cases the documentation of OSS projects is rather poor).