「文法のデザイン」

rubyまつもとさんのところから、(Gaucheの)shiroさんの発言を引用する。
http://www.rubyist.net/~matz/20041002.html#p01

「良く使うものを書きやすく」ですが、それをすると、
その影で書きにくくなる部分があります。
一方、問題の対象が限定されればされるほど「良く使う」操作に関して
予測が立てやすくなるので、最適化が成功しやすくなるでしょう。

これを読んで感じたのは2つ。

1つは、まつもと氏がPHP言語が人気がある理由がわからないと以前おっしゃっていたことの答えが此処にあるのではということ。つまり、PHP言語はrubyにくらべ問題の対象が狭く限定されているがために、モダンな言語仕様でなくとも人気が出たということではないか?つまり、WEBアプリという狭い範囲が対象であり、また「書きやすく」するべき対象者をC言語あがりの手続き型者を想定しているであろうということである。

PHP言語の人気をこう捕らえると、PHP5の言語仕様がオブジェクト指向言語に向かっているのは、問題の対象を広くしてしまって逆効果になることもあると言うことか。


2つは、「問題の対象の限定」ということの必要性は、プログラム言語以外についても一般的な当てはまるし、あたりまえと言えば当たり前だが、忘れがちであるということ。

先日のエントリの様にwebアプリの抽象化について考えるに当たっても、問題の対象の限定が必要であるな。