真・ビジュアルプログラミング

でも、こういう話はあたりまえかもしれないな。でも、当たり前のわりに、議論として表に出てくることは少ないような。言語で行いたいことの処理の構造と、プログラムの見た目の構造を一致させる、というような観点で言語を設計するっていうのはどうだろうか。
極端な例を出すと、簡単な2次元画像フィルタのプログラムなんかだ。ラプラシアンフィルタなんかを

3x3   // 対象を中心とする3x3の正方形とする


[ 1 ][ 1  ][ 1 ]
[ 1 ][ -8 ][ 1 ]
[ 1 ][ 1  ][ 1 ]

こういう構造で書けたらなによりもわかりやすいだろう。そんな感じ。


そう、だから、流れとしては、こうだ。
基本は、既存の言語で書けばいいと思う。既存の言語は色々研究されてるだけあって、日常生活では困らないはずだ。だが、処理によっては、恐しく(構造の)並列性が高かったり、やたら綺麗な木構造をしていたり、それとか、もっと珍妙な構造をしているかもしれない。そういった場合に、そういう構造をソースコード自身が図として表現できるような言語を設計するのだ。
それは、最初は工数がかかるかもしれないけど、長い目で見てそれらを回収できるだけの高い可読性が得られるような気がしないだろうか。他人に教えないといけないような状況になったときに、へんてこりんなライブラリの使いかたを教えるのと、どちらのほうが楽だろうか。


そう考えると、やっぱり、用途限定言語は便利だという話になって、そうなると、処理系の実装の手間を省くILogの存在も意味が出てくると、いうわけなのですよ。