From: Takao KAWAMURA Date: 1998-07-31T12:59:01+09:00 Subject: [ruby-list:8970] Re: What is a ruby program? > よくは分からないのですが、オブジェクト指向的な了解と > いうと、メソッドの呼び出し元との関係で規定されること > を目指しているように聞こえます。 おっしゃる通りです。トップレベルの文は誰が呼びだすのか、とい うことが気になったわけです。 > もちろん、我々の計算機利用は全てオブジェクト指向の > 観点から理解できると言う主張もあり得るとは思うのですが、 > それは我々生身の人間もオブジェクトと思ったりしないと > いけないハナシになりそうです。 環境すべてをオブジェクト指向で構築する場合は、こういう考え方 が可能だし、美しいと思います。だけど、既存のOSの上で走る言語 処理系は、オブジェクト指向じゃない外の世界との界面を持たざる を得ない、それをどんな風に設計するべきかということですよね。 たとえばEiffelは、その界面を極力減らそうとしていると思います。 プログラムのスタートにあたって、外部がやることは、ある特定の オブジェクト(神に相当?)を生成することだけで、後はそのオブジェ クトのコンストラクタが世界を創り出すという考え方ですから。 FILEクラスの設計に関しても、 f.Create("filename"); f.open_write と f = File.new("filename", "w") を見比べれば、同様の意志を感じます。 それで、最初、Rubyのトップレベルは界面が大きすぎるように感じ たのです。だけど、ごとけんさんとまつもとさんのフォローを読ん だ上で、Rubyはスクリプト言語なんだということを改めて考えると、 やっぱり今のありかたが、いちばん便利でふさわしいのかなという 気がしてきました。 -- 川村 尚生