The Stanford GraphBaseと文芸的プログラミング
DHT周りの研究の為にgt-itmっていうネットワークのトポロジモデルを生成するツールについて調べてたら、データ形式にThe Stanford GraphBaseという形式が使われていたので、これを扱う為のコードを調べてみたらクヌース先生の書いたコードなんすね、これ。
なんでも文芸的プログラミングって奴を実践しているらしく、見た事の無いようなコードになっている:
http://www.tex.ac.uk/tex-archive/support/graphbase/gb_io.w
C言語へマクロでドキュメントを埋め込めるような拡張(CWEB - Wikipedia)がされていて、ドキュメントの文法はTeXになってる。
整然とコメントが入っててドキュメントも生成されるようなコードを書くべきだ、という事なのかな。JavaDocやDoxygenとは思想が違うというような事をつぶやいてる人もいたけどどう違うんだろうか。
取りあえず、Emacsで適切にカラーリングして貰えないととってもじゃないが読めないなぁ、これ。
そういえば、仕事としてプログラミングやってるというのに未だにコメントをきちんと書く癖がついてない。
結局、沢山の人が読む事が想定されているコードをあまり書いてないからかな。