Don Knuth made these remarks in an interview with Andrew Binstock <http://www.informit.com/articles/article.aspx?p=1193856>
Andrew: One of the few projects of yours that hasnt been embraced by a widespread community is literate programming. What are your thoughts about why literate programming didnt catch on? And is there anything youd have done differently in retrospect regarding literate programming? Donald: Literate programming is a very personal thing. I think its terrific, but that might well be because Im a very strange person. It has tens of thousands of fans, but not millions. In my experience, software created with literate programming has turned out to be significantly better than software developed in more traditional ways. Yet ordinary software is usually okay--Id give it a grade of C (or maybe C++), but not F; hence, the traditional methods stay with us. Since theyre understood by a vast community of programmers, most people have no big incentive to change, just as Im not motivated to learn Esperanto even though it might be preferable to English and German and French and Russian (if everybody switched). Jon Bentley probably hit the nail on the head when he once was asked why literate programming hasnt taken the whole world by storm. He observed that a small percentage of the worlds population is good at programming, and a small percentage is good at writing; apparently I am asking everybody to be in both subsets. Yet to me, literate programming is certainly the most important thing that came out of the TeX project. Not only has it enabled me to write and maintain programs faster and more reliably than ever before, and been one of my greatest sources of joy since the 1980s; it has actually been indispensable at times. Some of my major programs, such as the MMIX meta-simulator, could not have been written with any other methodology that Ive ever heard of. The complexity was simply too daunting for my limited brain to handle; without literate programming, the whole enterprise would have flopped miserably. If people do discover nice ways to use the newfangled multithreaded machines, I would expect the discovery to come from people who routinely use literate programming. Literate programming is what you need to rise above the ordinary level of achievement. But I dont believe in forcing ideas on anybody. If literate programming isnt your style, please forget it and do what you like. If nobody likes it but me, let it die. On a positive note, Ive been pleased to discover that the conventions of CWEB are already standard equipment within preinstalled software such as Makefiles, when I get off-the-shelf Linux these days. _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer