まつもと ゆきひろです
ま、面白いのでもう少し静観しようかとも思ったのですが、私の意
見を聞きたい人もいるでしょうから。
まず第一に金光さんの考えていらっしゃるのはSmalltalk(より具体
的にはSqueak)なんでしょうが、Rubyはそれとは違う道を歩みます。
ですから、
VMにGUI機能(たとえbitbltでも)は追加しません
GUI機能はVMではなく、拡張ライブラリで提供されます。これは将
来とも絶対に変わりません。
さて、次に標準GUI(フレームワーク)についてですが、これもあら
かじめ断言しておくと
私がなにかを標準にすることはありません
それとこれもはっきりさせておきたいのですが、私が音頭をとって
Ruby独自のフレームワークを作ることもありません。
これらの理由はいくつかあります。
* まず第一に言語とGUI機能はある程度直交するものだからです。
特にRubyはJavaとは違いプラットフォーム独立な独自の世界を
作ろうというアプローチではなく、プラットフォームのやり方
をRuby流に取り込む方向性があるのでなおさらです。
また、GUI関係は言語に比べて寿命が短いのも問題になりえま
す。OpenLookって聞いたことありますか。SmalltalkのGUIって
流行遅れって思ったことはないですか?
* 第二に、私自身が正しい標準GUIプラットフォームの設計がで
きるほどGUIにこだわりがないことです。私は正しい言語設計
を行う知識と経験と自信がありますが、GUIに関しては知識は
あっても経験も自身もありません。
* 第三に、誰もRubyを「標準スクリプト言語」に選んだわけでは
ありませんが(あ、コンダラの人たちはそう呼んでるんだっけ)、
でも私たちの多くはスクリプト言語を使うときにはRubyを使う
ようになっていることと思います。GUIフレームワークもそれ
と同様に生存競争に勝ち残って登場すべきだと思います。
* 第四に、GUIに対するニーズも、バックグラウンドになるプラッ
トフォーム機能も実は多種多様でなので、すべての人が満足し、
かつ十分に移植性もあり、パフォーマンスも出るGUIプラット
フォームというのは現実的ではないのではないかと考えていま
す。追求するのは自由ですし、止めませんが。
* 最後にトレードオフについて考えたいと思います。仮にRuby独
自のGUIフレームワークを作りはじめたとして、それによって
得られるものは「RubyでGUIを作るならこれさえ覚えれば十分」
という安心感です。しかし、そのために「多大な開発コスト」、
「十分でないパフォーマンス」、「最大公約数的な(時として
不足する)機能」などのリスクが伴います。また、Ruby独自と
いうことは、自分であらゆる苦労を背負込むことでもあります。
ですから、「これが標準」というのではなく、結果的にデファクト
スタンダードを形成するのが望ましいと思います。また、最初に述
べたようにGUIと言語がある程度独立であることを考えると、Ruby
だけでそれに取り掛かることは賢明ではないと思います。
世の中にはプラットフォーム共通のGUIフレームワークの試みはFOX
であるとかWxWindowであるとかたくさんあるのですから、そういう
ものが欲しければ、そちらと共闘すべきと思います。そして、それ
に対する使いやすいRubyインタフェースを用意する、必要に応じて
それらフレームワークにコントリビュートする、そういうのがRuby
流のオープンなやり方ではないでしょうか。
で、みなさんの満足の行くGUIフレームワークが見つかるなり、完
成するなりした時点で、それを「(当面の)推奨GUIフレームワーク」
と呼ぶことはできるでしょう。
まつもと ゆきひろ /:|)