---
title: Literate Programming
description: " 文芸的プログラミング Donald Ervin Knuth によるもの。  そのプログラムがどう動くかの自然言語による解説を主としたプログラミングスタイル JSDoc、埋め込みコメントにつながるもの だけど、JSDocと異なり、「そのプログラムが何をするかを説明する自然言語によるテキスト」が主で、"
date: 2024-10-06T18:20:35.000Z
updated: 2026-01-08T14:50:54.579Z
url: https://baku89.com/Literate_Programming
---

# Literate Programming

文芸的プログラミング

[Donald Ervin Knuth](/Donald_Ervin_Knuth)によるもの。

[Literate programming - Wikipedia](https://en.wikipedia.org/wiki/Literate_programming)

- **そのプログラムがどう動くかの自然言語による解説を主としたプログラミングスタイル**

  - JSDoc、埋め込みコメントにつながるもの
  - だけど、JSDocと異なり、「そのプログラムが何をするかを説明する自然言語によるテキスト」が主で、その中にコードが埋め込まれている
    - コードの実行順とは関係なく、アルゴリズムの説明としてもっとも自然で理解しやすい順序でドキュメントを記述する。その中に、任意のコード断片を埋め込む。んで、そこからソースコードを「トランスパイル」する
  - コードそれ自体が自己説明的（self-documented）であるべき、とう考え方を、もう少し自然言語寄りに寄せた感じ
  - [Intentional Programming](https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%83%86%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)とも関係

- 「プログラミングは、芸術であり、文学である」と主張するドナルド・クヌースの論文集のこと。上に関する論文も含まれる。
