Ruby, Rails, HSP とイノベーションのジレンマ

by tanabe on December 22, 2006

まつもとさんの「まつもとゆきひろ氏のHSPに対する見解について」に対する反応のエントリを読んで、非常に興味深かった。ただし、メインテーマとはまったく関係ないところで。(つまり、HSP 自体の言語としての価値や意義はまったく今回の話の対象外。)

興味を惹かれたのは次の一文。

まあ、「正しい言語」とか存在しないんだけど、それでも「良い言語」と「そうでない言語」はあると思う。しかし、「そうでない言語」であっても当面の目的を果たすのに十分であれば、ユーザを引きつけられるということか。

言語デザイナーの方の感じる「良い言語」とユーザの求める「良い言語」にズレが生じたときに、プログラミング言語でもイノベーションのジレンマ的な現象が起きるのかな、という興味を持ったのだ。(それは必ずしも「良いプログラミング言語」ではないだろうけど。)

ただ、よく考えてみると、プログラミング言語における破壊的イノベーションは、いわゆる総プログラマ社会と同じ話なのかもしれない。

振り返ってみれば J2EE に対する軽量コンテナのように、要求と設計のギャップとそれに対する対抗技術というのはこれまでも存在したし、そもそも Ruby だってできることを全部やるのではなくてある面で削ぎ落としているから、楽しいプログラミング言語になっている。

その一方で、例えば Rails のように DSL 的に働く Helper や plugin を大量動員して開発量は減らすという、フレームワーク+カスタマイズ型の流れというのも明らかに方向性として出てきている。(もちろん、Java系のフレームワーク+XML 設定ファイルというのもフレームワーク+カスタマイズだろう)

この流れがぐーっと進んで、しかも導入の敷居が下がると、どこかで懐かしの(?) End User Conputing との再開を果たして、よく言われる総プログラマ社会に突入をするのかもしれない。(そういえば、 Salesforce.com がやっていることはまんまこれだな。どちらかというと、ERP からの流れなのだろうけど。)

まぁ、他にも何やらもやもや考えたけど、もう一つまとまんなかったので、途中までで投げてしまおう。