まつもと ゆきひろです

ま、面白いのでもう少し静観しようかとも思ったのですが、私の意
見を聞きたい人もいるでしょうから。

まず第一に金光さんの考えていらっしゃるのは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フレームワーク」
と呼ぶことはできるでしょう。

                                まつもと ゆきひろ /:|)