- Series: Lecture Notes (Book 27)
- Paperback: 384 pages
- Publisher: Center for the Study of Language and Inf; 1 edition (June 1, 1992)
- Language: English
- ISBN-10: 0937073806
- ISBN-13: 978-0937073803
- Product Dimensions: 6 x 1.2 x 9 inches
- Shipping Weight: 6.4 ounces (View shipping rates and policies)
- Average Customer Review: 8 customer reviews
- Amazon Best Sellers Rank: #339,648 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Literate Programming (Lecture Notes) 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
"Children of Blood and Bone"
Tomi Adeyemi conjures a stunning world of dark magic and danger in her West African-inspired fantasy debut. Learn more
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
Author interviews, book reviews, editors picks, and more. Read it now
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The premise of this book matches my experience: technical communication with people is critical, and harder than communicating with the machines. Knuth carries that idea forward by one bold, logical step: in Literate Programming (LP), the main goal is to get technical ideas across to people. Programs are a co-product of the description process. This inverts the premise of JavaDoc and the like, in which human communication is incidental to the code.
A literate program, by the way, reads like a standard human document, whether an essay or an IEEE standard specification. JavaDoc output reads like an HTML dump of a cross-linked tree data structure - which it is. JavaDoc serves a valuable purpose, but does not permit system description in the order required by human reasoning.
My own experience with LP (a custom system) was very happy - I actually reached the "impossible" goal of true requirements traceability. I unified the system requirements, design, multi-language implementation, configuration control, and even tests under one document set. With HTML output, traceability was made real using interactive links. Anywhere else, traceability is mostly wishful thinking shared by the many owners of physically disconnected documents. (Process gurus - I hope you're paying attention.)
LP practice, however, has not caught on. LP, in today's form, does not support programming in the large. What LP does to the compilable form of a program brings C++ name-mangling to mind. I don't know of any WYSIWYG LP systems, so today's window-icon-mouse-pointer (WIMP) programmers will have nothing to do with it. And, ironically, the people who need the most support in communicating with their peers are the ones most resistant to tools for effective communication.
It's a grand vision and an exciting experiment. LP deserves more attention.
This book is about "goto" (sic!) and literate programming. In both fields there is so much progress that the information given here is almost completely irrelevant. Not because the author was wrong, but because ~1970 problems are not problems anymore.
I am sure there are books which "survived" and the knowledge still can be applied today despite all the time passed (like for example The Implementation of the Icon Programming Language (Princeton Series in Computer Science)) but this book didn't.
I found only single interesting piece -- the technique of using program counter as a flag for flow control (as you can guess, the irony is, this comes from "goto" chapter).
TL;DR -- please ignore the rating I gave, if you are about history, go get this book, if you are looking for some magic, ancient gems which can be still applied TODAY, I am afraid PC trick is the only one.
wrote about programming. He promoted a particular
programming methodology called "literate
programming", which weaves comments into codes and
make them more readable and easier to maintain. This
book was published in 1992, but Chapter 4, "Literate
Programming", was originally published in 1984,
which was an idea way ahead of his time (JavaDoc was
first released in 1998, 12 years after the Knuth's
article). Chapter one is Knuth's Turing Award
lecture and still worth reading for his view on why
programming is an art. I was wrongly impressed that
Knuth is a very theoretical people and doesn't do
much programming. As you would discover from these
lecture and other articles in the book, he indeed
did a lot of programming and arguably in a very
clever and beautiful way, "the program of which I
personally am most pleases and proud is a compiler
I once wrote for a primitive minicomputer that had
only 4096 words of memory, 16 bites per word
(pg. 10)." The discussion about the "goto" statement
in Chapter 3 is not relevant in today's programming
and computer environment. The last few chapters are
more like manuals of the WEB and CWEB programs (C
version of WEB), which are the programs generating
documents and source codes. These manuals may not
interest readers unless they are well motivated to
write program "literally." One gem should not be
missed is is Chapter 10, "The Errors of TeX" (and
the accompanying Chapter 11, "The Error Log of
TeX). Seeing how Prof. Knuth meticulously documented
all of his bugs in TeX is just amazing. Overall this
book is more of historical value and for people who
love Knuth and his work on literate programming.