XPost: comp.programming.literate, comp.answers
Archive-name: literate-programming-faq
Last-modified: 2000/03/15
Version: 1.3.1
The Literate Programming FAQ
David B. Thompson
Version: 1.3.1, Mar 15, 2000
The purpose of this document is two-fold: First, there is a need to
present a basic description of literate programming and how applica-
tion of literate programming principles can improve the resulting
code. Second, there is a need to present a list of tools available
to
iterate programmers. Hopefully, this document will meet both needs.
____________________________________________________________________
__
Table of Contents
1. Welcome
1.1 Disclaimer
1.2 Copyright
1.3 What's New?
1.4 What's Needed?
2. Introduction
3. How do I get the FAQ?
3.1 Literate Programming FAQ
4. Is there a newsgroup?
5. What internet nodes are of interest to literate programmers?
5.1 Web Ring
5.2 The Literate Programming Archive (LPA)
5.3 Comprehensive TeX Archive Network (CTAN)
6. What is Literate Programming?
7. How do I begin literate programming?
8. Important and Actively-Supported Tools
8.1 CWEB
8.2 CWEBx3.0
8.3 FWEB
8.4 noweb
8.5 nuweb
8.6 ProTeX
9. Unsupported Tools
9.1 AFTWEB (Almost Free Text WEB)
9.2 APLWEB
9.3 CLiP
9.4 mCWEB
9.5 FunnelWeb
9.6 FunnelWeb 3.0AC
9.7 LEO
9.8 Literate Programmer's Workshop (LPW)
9.9 MapleWEB
9.10 Matlabweb
9.11 RWEB
9.12 SchemeWEB
9.13 SpideryWEB
9.14 WEB
9.15 WinWordWEB
10. Are there other tools I should know about?
10.1 C2LaTeX
10.2 c2cweb
10.3 c2man
10.4 cnoweb
10.5 dpp
10.6 Fold2Web
10.7 Funnelweb Mode
10.8 noweb.el
10.9 noweb-outline.el
10.10 nuweb.el
10.11 Web mode
11. What other resources are available?
11.1 TeX Resources
12. Are there any code examples?
13. Bibliographies
14. Other Opinions about Literate Programming
14.1 van Ammers
14.2 Ramsey
14.3 My (Dave Thompson's) Experience
14.4 Others
15. How to anonymously ftp
16. Acknowledgements
17. End notes
____________________________________________________________________
__
1. Welcome
Information contained in this document is the best available at
preparation. The original file was dated October 15, 1993 (just for
historical purposes).
1.1. Disclaimer
This FAQ is presented with no warranties or guarantees of ANY KIND
including correctness or fitness for any particular purpose. The
author of this document has attempted to verify correctness of the
data contained herein; however, slip-ups can and do happen. If you
use this data, you do so at your own risk.
1.2. Copyright
Copyright 1993-2000 by David B. Thompson. All rights reserved
worldwide. Permission is granted to copy this document for free
distribution so long as it remains intact and unmodified. For other
arrangements, contact the author/maintainer via email:
1.3. What's New?
o Updated dpp entry. See Section ``dpp''
o Added noweb-outline.el entry. See section ``noweb-outline.el''
1.4. What's Needed?
o I've checked some of the links to software. If anyone finds the
FAQ useful, please let me know if the links are active or dead
when
you're surfing.
o Some authors have disappeared. If you know one of them, or are
an
author (and wish to remain in contact ;), then please provide
current contact information.
o I could use some feedback on the state of the FAQ. It's about as
complete as I know how to make it.
2. Introduction
Literate programming is a phrase coined by Donald Knuth to describe
the approach of developing computer programs from the perspective
of a
report or prose. The focus, then, is on description (and
documentation) of the approach in human-readable form. This is in
contrast to the normal approach of focusing on the code.
This document is for new and experienced users of literate
programming
tools. The purpose is to explain the concept of literate
programming
and to provide a resource for locating resources of interest to
literate programmers and those interested in literate programming.
The Literate Programming (LitProg) Frequently Asked Questions (FAQ)
list is maintained by Dave Thompson .
Comments and constructive criticisms are welcome. Direct flames to
/dev/null (or nul if you're a msdos user! ;-) If you find an error,
please report it. I'm particularly interested in establishing the
locations of generally available literate programming tools. If you
are the author of such a tool and wish to have it included in this
list, please send email.
Please note this is a work-in-progress. It is not complete, and
probably will never be complete. Nevertheless, the information
contained herein may be useful to some. Use it as it is intended.
3. How do I get the FAQ?
3.1. Literate Programming FAQ
You have many ways to get a current copy of this FAQ. One is to use
anonymous ftp (if you don't know how, see a later section in this
FAQ)
to connect to one of the ``Comprehensive TeX Arvchive Network''
sites
or the Literate Programming Archive and retrieve a copy of the file.
Open an ftp connection to one of the CTAN sites and retrieve the
file
help/comp.programming.literate_FAQ.
Cesar Bellardini cballard@santafe.com.ar prepared a translation of
the
FAQ into Spanish. It's available at
(For more information on CTAN and the literate programming archive,
see the section below entitled ``Internet Nodes of Interest to
Literate Programmers''.)
4. Is there a newsgroup?
One of the most important resources is the literate programming
newsgroup, comp.programming.literate. Because of the amount of
spamming and unrelated posts, the newsgroup is now moderated. You
can
read this newsgroup using your standard reader.
5. What internet nodes are of interest to literate programmers?
The principal nodes of interest to literate programmers are the
Literate Programming Archive (LPA hereafter) and the CTAN
(Comprehensive TeX Archive Network).
5.1. Web Ring
There is a web ring for literate programming. It is at the URL
www.webring.org/cgi-bin/webring?ring=litprog;list
5.2. The Literate Programming Archive (LPA)
The Literate Programming Archive (LPA) is:
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: you cannot sedate... all the things you hate (1:229/2)
|