橋本 Hashimoto   Baku

橋本 Hashimoto   Baku

Literate Programming (Scratchpad)

This page is a personal scratchpad.

文芸的プログラミング

Donald Ervin Knuthによるもの。

https://en.wikipedia.org/wiki/Literate_programming

  • そのプログラムがどう動くかの自然言語による解説を主としたプログラミングスタイル
    • JSDoc、埋め込みコメントにつながるもの
    • だけど、JSDocと異なり、「そのプログラムが何をするかを説明する自然言語によるテキスト」が主で、その中にコードが埋め込まれている
      • コードの実行順とは関係なく、アルゴリズムの説明としてもっとも自然で理解しやすい順序でドキュメントを記述する。その中に、任意のコード断片を埋め込む。んで、そこからソースコードを「トランスパイル」する
    • コードそれ自体が自己説明的(self-documented)であるべき、とう考え方を、もう少し自然言語寄りに寄せた感じ
    • Intentional Programmingとも関係
  • 「プログラミングは、芸術であり、文学である」と主張するドナルド・クヌースの論文集のこと。上に関する論文も含まれる。