文芸的プログラミング
ドキュメントとコードを一緒に書く
literate programming
https://twitter.com/kuuote/status/1499793136650186753 https://gyazo.com/a3064eb1157a6e961c244e89cc07b9d3
目的
可読性を上げること?yosider.icon
プログラマによってはコメントは最小限のほうが読みやすい説
場合によると思いますね 増井俊之.icon
短くても、コメント無いと全く理解不可能なコードもありますし
認知能力が低いせいかもしれないけど、コメントがたくさんある方が読みやすいと感じるkuuote.icon
ガンガンメモを書けばいいと思ってるし先日読んだ記事でもそんなことを言っている
ただ、コードに直接個人的な感情などを埋めたくない気持ちがあるので文芸的プログラミングで残しておきたい
コードコンプリートにコメントの書き方が載っている suto3.icon
非常に乱暴に要約すると
コメントが必要ないソースコードを書け
必要なコメントを書け(不要なコメントは書くな)
ということ
情報の一体性を高めて保守の負担をへらす
通常コンピュータのプログラミングでは、プログラムソースと関連するドキュメントを別々のファイルに記述するが、これには管理や更新内容の反映が負担となる。
この問題に対して、文芸的プログラミングでは、ドキュメントとソースを併記したWEBと呼ばれるメタソースを記述し、そこからドキュメントとソースコードをそれぞれ生成させることで、情報の一体性を高めている(これらのメカニズムをWEBシステムと呼ぶ)。
文芸的プログラミング - Wikipedia
Jupyter notebookや、JSDoc付きのコードから、ドキュメントを生成できるイメージyosider.icon
doc.deno.land
もっと進んでいろんなものを一体化していく方向性
文芸的プログラミング#62694621e5172d00003cb8fe
Scrapbox限定の目的
コメントをブラケティングする
Jupyter notebookに似てるbsahd.icon
/scrapboxlab/文芸的プログラミング
/masui/文芸的プログラミング
/mlab/文芸的プログラミング
/ProgrammingExperience/Literate Programming
Web上での「文芸的プログラミング」
増井俊之.iconさんのblog、UTF-8じゃなかった……
超古いからですね... すみません 増井俊之.icon
まあ古い記事ですし、しょうがないですよtakker.icon
未だにShift JISを使っているITmediaは許さん
技術系メディアとしてそれはどうなの…
増井俊之.icon
マニュアルもヘルプもテストコードも一緒に書くのが良いと思う
自分とこのUserScriptで丁度それやってますtakker.icon
/icons/いい話だ.icon 増井俊之.icon
ヘルプはなかった
どんなIDEでもソースコード以外はオマケ扱いなのがよくないと思っています。ドキュメントもマニュアルもヘルプもテストもデモも同じところに書くべきであり、リンクも充実させるべきでしょうhttps://www.facebook.com/707202497/posts/10160098748742498/?d=n
試行錯誤の跡まで一緒に書いてしまうと可読性がさがる?
cf. /programming-notes/他のプロジェクトにページを送るUserScript#600eef9de5172d00009cd4a3
どうすれば解決するんだろう?
文芸的プログラミングと共同編集の組み合わせの前例がない以上、過去の事例を参考にできない……
すべてを同時に表示してしまうと空間的な限界があるので、viewを工夫する必要がありそうyosider.icon
コードと散文を交互に書いてる本ってある?
技術書以外で
普通に小説で、普通にコードがしょっちゅう出てくる作品知りたい
あれば読みたい 増井俊之.icontakker.icon
なければ自分で書くしかないtakker.icon
文豪的プログラミング?
コードの代わりに数式がしょっちゅう出てくる作品ならあるtakker.icon
数学ガールの話かな?kuuote.icon
そうそれtakker.icon
他にもいくつかあります
コードブロックだけ独立した物として編集できれば便利に使えそうだなと思うことはあるkuuote.icon
プレーンテキストであることと両立するのは難しそう
プログラム書いてってお願いした時のLLMの出力も文芸的プログラミングの一つと思うmoeki.icon