文芸的プログラミング
通常コンピュータのプログラミングでは、プログラムソースと関連するドキュメントを別々のファイルに記述するが、これには管理や更新内容の反映が負担となる。
この問題に対して、文芸的プログラミングでは、ドキュメントとソースを併記したWEBと呼ばれるメタソースを記述し、そこからドキュメントとソースコードをそれぞれ生成させることで、情報の一体性を高めている(これらのメカニズムをWEBシステムと呼ぶ)。
単にドキュメントとコードが併記されるだけであれば、通常のコメントやPerlなどに見られる埋め込みドキュメントと違いはないが、文芸的プログラミングでは、さらにマクロを利用することで、任意のコード断片にドキュメントを対応させる。これは、いわゆるハイパーリンクに相当し、コードの実行順と関係なく自由な順序で内容を記述することができる。
「文芸的プログラミング」とは、 スタンフォード大学のDonald Knuthが提唱している、 プログラムの作成とその文書化を同時に行なう手法で、 プログラムとその解説文書をひとつのファイルに混在させながら 追加したり修正したりして同時に開発していくことにより、 完全に整合性のとれた文書とプログラムを開発しようというものである。 プログラムをまず作ってからその解説文書を作成する(またはその逆)という 一般的な手法では、後で修正などを加える場合などは注意しないと 両者の整合性がとれなくなってしまうことがよくあるが、 文芸的プログラミングの手法では 両者がひとつのファイルになっているので そのようなことが起こりにくくなる。 また正しい文書を書くという作業と正しいプログラムを書くという作業の 相互作用によってより適切なプログラムと文書ができあがるという 効果がある。