文芸的プログラミング
プログラムを「機械に実行させるもの」としてだけでなく、「人間が理解するための文章」としても書くという考え方である。
コードと説明文を一緒に書くことで、動作だけでなく、「何をしているのか」「なぜそう書くのか」を分かるようにする。
基本的な考え方
通常のプログラムは、コンピュータが実行しやすい順番でコードを書く。文芸的プログラミングでは、読む人が理解しやすい順番で説明を書き、その中に必要なコードを置く。
特徴
文芸的プログラミングでは、コードよりも説明の流れを重視する。アルゴリズムの考え方、処理の目的、設計の理由などを文章で示すため、後から読む人が内容を理解しやすい。
向いている場面
アルゴリズムの説明、研究用コード、教材などに向いている。特に、処理の理由や考え方を残したい場合に役立つ。
注意点
説明を書く手間が増えるため、短い使い捨てのコードには向かない場合がある。
また、説明が古くなると誤解の原因になるため、コードと説明を一緒に更新する必要がある。
関連
LaTeX
Donald Knuth
参考
ドナルド・クヌース - Wikipedia
文芸的プログラミング - Wikipedia
【再掲】文芸的プログラミングが普及しなかった理由. | by Ichi Kanaya | Pineapple Blog | Medium