[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] Knuth on literate programming
From: |
root |
Subject: |
[Axiom-developer] Knuth on literate programming |
Date: |
Fri, 25 Apr 2008 23:02:01 -0400 |
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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] Knuth on literate programming,
root <=