2014年6月18日

マクロマクロマクロ、そしてマクロ

とにかくマクロに興味がある
LET OVER LAMBDAのdefmacro/g!やdefmacro!ってなんてスゴイんだろう
スゴすぎて頭がクラクラしてくる
いままで書いてきたプログラムって一体なんだったんだろうかと無力感にさいなまれるといっても過言ではないと思えるほどの内容だ
文章のなかで何回もふれられているけどマクロって言っても要は関数なんだと
別に普通にあるプログラムが実行されているだけなのだけど、その実行されているプログラムも別にたいしたことない数行にしかならない極短いプログラムなのに内容の濃さ、密度の異常さと言ったらこれに匹敵するようなプログラムはC++以外では見たことないような気がするな
C++って言ってもテンプレートでのことだからどっちにしてもマクロ
とにかくマクロマクロマクロ
「マクロ」と書いてくれるプログラムを書くプログラムとでも言えばいいのだろうか

ゲーデル、エッシャー、バッハで触れられている、というか全体のテーマとなっている自己言及に通じるものがあるマクロ
ホフスタッターもきっとマクロがお好みのはずだろうな
プログラムを書くプログラムなんて自己言及以外のなにものでもない
絶対あの亀がプログラムを書くならCommon Lisp以外選択することはありえないだろうな

LET OVER LAMBDA

この本を読むと常に疑問がわいてくるのだけど、果たしてここまでのことを実際にやっている開発の現場ってこの世に存在するのだろうかと
空想世界のようなオトギバナシの世界のような現実離れしたお話を読んでいるようだ
例えば落語の時そばなんか聞いているとワザワザ一文ちょろまかすために屋台でそばを食べようとすることに似ているような
だけど屋台でそばを食べるということは全く現実的な行動だと思うようにプログラムを書くと言う行為もまた現実にあるわけなんだけど、gensymを書く手間を減らすためにdefmacro/g!なんてわざわざ定義するようなことがこの世のどこかでおこなわれているのだろうかと考えてしまう
すごく不思議だ
もし、そんな世界がこの世に実際に存在しているのなら是非死ぬまでにこの目で見てみたいものだし、実際にそんな現場に参加させてもらえたらと思う

しかしこの本を読むと本当に0.01%に相当するプログラマの頂点に到達できるのだろうか
って言うかこの本を読んでいる人が全プログラマ人口に対する0.01%の存在なのではないのだろうか
0.01%って言うと一万人に一人ってことだから、とりあえず日本に何人くらいプログラミングを仕事にしているかわからないけど数十万人、PHPやiphone系の人達も数えてさらにJavaScriptでスライドやらなんやらやってる人達も入れると百万人くらい居そうだけど百万人居たとして0.01%って言うと100人か
って言うか日本でLET OVER LAMBDA読んでる人は100人
百部、ひゃくぶしか売れない本って一体どんな本だよ
そんな本、どっかの学会とかの本当に本当の専門誌というか月刊ガソリンスタンドの方がよっぽど発行部数多そうだな
内容が内容だけに百部って言うのも案外近い数字だったりして