Markdownの ``` みたいなのを使って
ドキュメントからコードを抜き出すツールを使えば
文芸的プログラミングをしてることになるって聞きました。
どういうツールが有名なのでしょうか?
でもよくわからないので詳細を教えて下さい
通常のプログラミングとの違いは、ソースコードの中に文書(コメント)を埋め込んだのが通常のプログラミングで
文芸的プログラミングは逆に、文書の中にソースコードを埋め込むらしいですね?
そして通常のプログラミングでは、(関数の定義場所を入れ替える自由度はあれど)
ソースコードの実行順に上から書くから文書(コメント)の説明箇所がバラバラなのに対して
文芸的プログラミングでは、文書を読みやすいように上から書くことができて
そこからソースコードを生成する際に、実行順に入れ替えられるマクロがあるとか
1つ疑問なのは
文芸的プログラミングでは、文書を読みやすいように上から書くことができて
というけど、普通文書って上から読まないんじゃないですか?
目次で調べて必要な箇所をピンポイントで読む気がするんですけど
その場合に文芸的プログラミングに意味があるんでしょうか?
それから、そっもそもソースコードの順番通りにコメント読んだほうがわかり易くないですか?
逆にソースコードからドキュメントを生成したほうが良くないですか?
あ、だから文芸的プログラミングは廃れた?
文芸的プログラミングはサンプルコードを生成するためぐらいにしか使えないのかな?
調べているうちに文芸的プログラミングはソフトウェアを作るためのプログラミングではなくて
アルゴリズムのようにコードの一行一行を人間の言葉で説明するためのものじゃないかと気づきました。
つまりコメントはできるだけ少ないほうがいいという実際の開発では使えない?
文芸って言葉が誤解を招く訳なのかも
プログラムは効率を求めるもので文芸とは対極にあると思うんだけど
文章的プログラムの方がしっくりくるのでは
文体は著書を特徴付ける要素の一つだけど、プログラミングでは作成者の癖は排除されるよね
趣味としてはおもしろいと思う
もしかしてこれってテンプレートエンジンの方が良くないですか?
例えばC言語でHello Worldのコードを説明する時、このように書きます。
#include <stdio.h>
int main(void) {
printf("Hello World\n");
return 1
}
そして上からすべての行を説明するでしょう。
次に printfの%sを説明するとします。
printf("%s\n", "Hello World");
説明したいのはこの行だけです。
全体のコードを説明する必要はありません。
枠外にこのようなテンプレートを用意しておいて
ここに当てはめればいいだけじゃないでしょうか?
#include <stdio.h>
int main(void) {
<% $code %>
return 1
}
テンプレートエンジンを使えば簡単に文芸的プログラミングはできる
この考えはあってますか?
0015デフォルトの名無しさん2020/09/20(日) 10:15:55.61ID:u7gAJbKe
>>2
文章(コメント)の中にソース?
言語によっては
コメント
>print “hello”
みたいに書けるけど、そう言う事?
ぶっちゃけ、ソースよりコメントの方が長いって人にしかメリット無さそう。 0016デフォルトの名無しさん2020/09/20(日) 11:29:14.24ID:55J7R452
これ中二病的発想で生まれたものだろw
こんなこと思いついた俺すげーみたいな
「説明しようッ、Markは追い込まれた状況に置かれる事によって、
その類い希なき特殊な才能を開花させる。
コマンドを連結し、絶大なパワーを獲得するのだ。
さあ!今こそ世界を救う時。悪をknockdownさせろ!」