From: matz@... (Yukihiro Matsumoto) Date: 2001-08-06T00:13:12+09:00 Subject: [ruby-dev:14277] Re: Common GUI framework(Re: Virtual Machine) まつもと ゆきひろです ま、面白いのでもう少し静観しようかとも思ったのですが、私の意 見を聞きたい人もいるでしょうから。 まず第一に金光さんの考えていらっしゃるのは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フレームワーク」 と呼ぶことはできるでしょう。 まつもと ゆきひろ /:|)