なぜDXRubyなのか

プロジェクトWikiに、「なぜDXRubyなのか」という記事がある。
わざわざ文字数をかけて、どういうものを目指してDXRubyが作られたのか、どういった人に使ってもらいたいのか、と、さらにそれを説明する理由まで含めて説明している。
なぜDXRubyか、という話は、そっちを見てもらうとして、ここでは、「なぜ「なぜDXRubyなのか」という記事がそこにあるのか」、という話を書いてみよう。


SourceForge.jpで他のプロジェクトを検索していると、だいたいはそれがどういったものなのかを説明してあるものの、そこ止まりのものが多い。
簡単に〜〜できます、とか、〜〜するのに便利な機能が揃っています、みたいな感じだ。
たとえば、簡単であるのはわかるとして、簡単ってのは個人の主観によるわけで、本当に必要な情報は、何をどこまで簡単にしていて、そのために何を犠牲にしているか、だ。
もちろんそれを表現しようとすると、かなり具体的なコードを書くことになって、今度はそれを理解するのが大変だったり、1つのケースをもってして簡単である、と言い切るのも難しかったりして、そういうのを細かく書くのは無理がある。
となると、どうすればいいのだろうか。


カタログ通販なんかで、商品の一つ一つについて丁寧にウンチクをたれて、どんなところに苦労したか、とか、どんなところにこだわっているのか、みたいな、そういう事を長々と語っているものがある。
あれ、結構売れるらしい。
っていうか、読んでると買いたくなってくる。
具体的・詳細にこのような素材を使っています、とか、数字で示してこのような性能があります、などの説明をしていないのに、だ。


それはどういうことかというと、書いてあることが本当かどうかはわからないが、作った人の考え方が伝わってくるような気がするからではないか、と思うわけだ。
こういうことを大事にして、こんな苦労をしてまでもそれを実現しようと努力してて、でもこういうところにも気をつけて、いろいろ考えて作りました。
じゃあ、それなら、そこに書いてないことでも、そんな感じで使う人のことを細かいとこまでいろいろ考えて作ってるんだろうな、と思う。
書いてあることが、自分の求めるものと一致していれば、その全てがその方向性で作られたものなのだ、と信頼する。
ポイントはそこだ。


ライブラリというものは、用途によってほんとにたくさん作られていて、どれを使えばいいのかよくわからないし、一つ一つ検証するわけにもいかない。
だから、そのライブラリを作った開発者の考えている問題点と、解決する方法、方針、何を切り捨てて、何を大事にしようとしているのか、そういうところを明確にすることで、この人の作っているものなら、細かい点では使いにくいところがあったとしても、基本的には自分のスタイルに合ったものになっているだろうし、自分に見えないところや、今後の修正なども、きっとそうなのだろう、と信頼してもらう。
期待と信頼が安心感と満足感になるし、人はそうやってものを選ぶのだ。


コンピュータの開発関連は、全体的にそういうものが足りない。
みんなたぶんもっとロジカルで現実的なんだろうと思うが、もう一つ現実的になれば、ライブラリ類が乱発されている状況で、どうやったら使う側が自分に合ったものを選べるのか、というところも考えるべきことなのである。
たぶんね。


そういうふうに考えると、俺の文章もまだまだ書くことが足りてないし、無駄なこともあるから、今後少しずつ修正していって、もっといい感じに仕上げたほうがよい。
読んだ人に「DXRubyはまさに自分みたいな人のために作られてるんだ」って思ってもらえれば、ウソが書いてあるのでなければ、まさに理想的な選択になるはずだし、そうなるのが理想的なのだと思う。