AnyBook4Less.com
Find the Best Price on the Web
Order from a Major Online Bookstore
Developed by Fintix
Home  |  Store List  |  FAQ  |  Contact Us  |  
 
Ultimate Book Price Comparison Engine
Save Your Time And Money

Literate Programming

Please fill out form in order to compare prices
Title: Literate Programming
by Donald E. Knuth
ISBN: 0-937073-81-4
Publisher: Cambridge University Press
Pub. Date: 30 March, 1992
Format: Hardcover
Volumes: 1
List Price(USD): $64.95
Your Country
Currency
Delivery
Include Used Books
Are you a club member of: Barnes and Noble
Books A Million Chapters.Indigo.ca

Average Customer Rating: 4 (5 reviews)

Customer Reviews

Rating: 5
Summary: A fundamentally new view of programming.
Comment: This book is the only one that I can say has truly changed my view of software development.

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.

Rating: 4
Summary: Web <> Javadoc
Comment: There's a common misconception that Webs are analagous to technologies like Javadoc. The latter is effectively a fancy prettyprinter. The former is that, and more. A well-written web actually presents a program in a way that makes sense to the reader while providing a means to make that program also make sense to the computer. The idea being that you would be able to write code that looks like: for(i=0; i@; } so that you can defer exactly what processing an array element entails until a point where it makes sense. Since these redirections are handled by a preprocessor, there's no cost at run-time for doing that like there would be if the code were written with a function call.

Rating: 4
Summary: Arguing for an aesthetic appreciation of programming
Comment: Writing computer programs is easy, writing programs that are useful is hard and writing programs that are very useful as well as correct sometimes seems impossible. Knuth takes this truism even further and offers up the radical notion that the very best programs are so profound that people will one day read them as one would a piece of classic literature. If the idea of curling up by the fire with a copy of The World's Greatest Programs and spending the night in a state of rapture seems absurd, you think as I did. However, after reading this book, my mind now concedes the possibility does exist. After all, most of the great works of literature describe actions, conditions and solutions (algorithms) to problems of human-human and sometimes human-god interactions. Science fiction writers and readers have known for a long time that computers are very interesting objects. Buildings, paintings or other works of art are often admired not only for their subjective beauty, but also for the talent that it took to create them. Programming ability can be admired just as easily.
However, an extremely large technical barrier exists, in that programming languages are literal, terse and lack flair. Knuth works to eliminate this problem by combining the programming and documentation languages into a structure called a WEB. He also adopts the reverse paradigm that a program should be an explanation to humans of what the computer is doing. The result does wonders for readability and introduces a bit of flair. Certainly, this is a good first step towards Knuth's ideal.
The development of TEX is chronicled in great detail. It is personally comforting to read about some of the errors made in its development. Learning that the great ones make errors provides emotional security to all who hack for fun and/or profit. Some classic programming problems are used to demonstrate exactly what literate programming is meant to be. Jon Bentley, author of the 'Programming Pearls' section of "Communications of the ACM", contributes two chapters that were co-authored with Donald Knuth. These pearls demonstrate the applications of literate programming to common coding problems. All are presented in a clear, easy-to-understand style.
A bit of clever humor is also used. A WEB program is constructed from two distinct components. The Weave part explains what the program is doing, and the Tangle component produces the program. Of course, this suggests the line from Sir Walter Scott's poem Marmion, "O what a tangled web we weave, when first we practice to deceive."
I do not know whether to consider this book the product of a dreamer or a visionary. The truth, like most of the work of pioneers, is no doubt somewhere in between. My opinion is that it is more vision than dream. And is that not a common theme among the greatest works of art and literature?

Published in Mathematics and Computer Education, reprinted with permission.

Similar Books:

Title: The CWEB System of Structured Documentation, Version 3.6
by Donald E. Knuth, Silvio Levy
ISBN: 0201575698
Publisher: Addison-Wesley Pub Co
Pub. Date: 31 December, 1993
List Price(USD): $24.95
Title: Selected Papers on the Analysis of Algorithms
by Donald E. Knuth
ISBN: 1575862123
Publisher: Cambridge University Press
Pub. Date: June, 2000
List Price(USD): $28.95
Title: Selected Papers on Discrete Mathematics
by Donald E. Knuth
ISBN: 1575862484
Publisher: C S L I Publications
Pub. Date: 01 January, 2003
List Price(USD): $40.00
Title: Digital Typography
by Donald E. Knuth
ISBN: 1575860104
Publisher: C S L I Publications
Pub. Date: 13 March, 1999
List Price(USD): $40.95
Title: Introduction to Algorithms, Second Edition
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
ISBN: 0262032937
Publisher: MIT Press
Pub. Date: 01 September, 2001
List Price(USD): $79.95

Thank you for visiting www.AnyBook4Less.com and enjoy your savings!

Copyright� 2001-2021 Send your comments

Powered by Apache