Article View: fj.sys.next
Article #237Re: NEXTSTEP and Smalltalk
From: Hironobu Suzuki
Date: Mon, 10 Feb 1997 00:00
Date: Mon, 10 Feb 1997 00:00
124 lines
7614 bytes
7614 bytes
>>>>> "河野さん" == Shinji Kono <kono@ie.u-ryukyu.ac.jp> writes: In article <14811.855378397@rananim.ie.u-ryukyu.ac.jp> kono@ie.u-ryukyu.ac.jp (Shinji Kono) writes: 河野さん> 「早く動く」に意味にもよるんだけど、Smalltalk は MVC のせい 河野さん> で少し習得が難しいと思います。NEXTSTEPのAppKitは、Interface 河野さん> Builder のせいもあるけど、即戦力! って感じですね。Document 河野さん> もAppKit の方が良くできると思う。 ははーん。最近のSmalltalkの製品を知らないな。http://www.sra.co.jpから 製品情報をさぐるべし。NeXTのIBなんかよりも簡単に、速く作れます。世の中、 どんどん進んでいるんですよ(笑)。 それから、私にいわせりゃ、IBが提供するモデルもMVCモデルと基本は同じ。 ツールによってサポートされているかどうかの違いだけで。 河野さん> ふふん、じゃあ、Smalltalk の機能の問題は? こっちは大ありだ 河野さん> と思うんだ。Smalltalk は一種のLISP machineですよね。LISP 河野さん> machine一派の「OS軽視」っていうか「OSに対する無理解」が、 河野さん> Smalltalk を非常に限られたものにしてしまったと思う。 そんなに単純な話じゃないと思う。 Altoの流れをくんでいるんで、マシン環境=Smalltalk(=OS)だったりも するんですね、まず。 昔の、あのデッカいディスクトップのXeroxのマシンなんかは、バーチャルマ シンをハードウェアで提供していたわけですよね。今は、プラットフォームに 依存しない形で、つまり完全にソフトウェアでバーチャルマシンを提供してい るに過ぎません。ちなみに、今は、バーチャルマシンをマイクロカーネル上の 1つのプロセスサーバーにできるから、モロにSmalltalkマシン。Xeroxマシン の再来ができるでしょう。 OSとSmalltalkの話にもどるけど、本当のオブジェクト指向の世界と、既存 のOSとはパラダイムが違うわけだから、どこかで妥協していかなければなら ない。ですが、Smalltalkは本来は、アッチの世界、つまりオブジェクト指向 の世界を構築しているわけです。 例えば、完全にオブジェクト指向しちゃった環境では、UNIXのファイルシ ステムのような古典的なデータ・ストレージのアプローチでは、十分に使えな い。永続的なオブジェクトをどう管理するかって話で、昔はSymbolicsのシス テムには、永続的にオブジェクトを管理するシステム(データベースともファ イルシステムとも形容できない、なんちゅーたら、普通の人に伝わるかわかん ないけど)、なんかがありました。 SmalltalkにはBOSSフォーマットでファイルに書き出すという技ががあるけれ ど、あれは、やはり吐き出された瞬間に、オブジェクト空間からは吐き出され てしまうわけで、Symbolicsの外部オブジェクト管理のようなシステムにはなっ ていません。 そんな具合に、普通のOSのセマンティクスでは、本当のオブジェクト指向の 世界をサポートできないのですよ。これは、『オブジェクト指向を用いてプロ グラムを作る』というのと、『オブジェクト指向の世界でプログラムを作る』 というものの違いでしょう。 が、しかし、Smalltalkは、そんなハンディを乗り越えて、その持つオブジェ クト指向の能力で、プラットフォーム依存しない形で、現在、使われている。 ある意味で、使い方、使われ方に妥協している部分がある。Javaは、既存のO Sを前提にして、かつ、プラットフォームに依存しない形で設計されているか ら、Smalltalkよりは現在のOSに馴染み易い形にはなっている。が、しかし、 本気でオブジェクト指向の世界を構築するのには、力不足。 『オブジェクト指向を用いてプログラムを作る』というならば、河野さんの意 見は、正しく聞こえるけど、『オブジェクト指向の世界でプログラムを作る』 となると、ちょっと違うんじゃないか、と思います。 そんでもって、最初の問題に戻って『オブジェクト指向でプログラムを作る』 というのは、その『世界の中にいるか』という問題には関係ないわけで、なかっ たら、じゃ『本当のオブジェクト指向したらんかい』という具合に、僕なんか は紹介しちゃうわけです。 それから、プログラムを作るっていうのは、それ以前のデザインが出来るとい うことだから、あくまでもOOA/OODができていることが前提ね。OOA/ OODも満足に出来ないで、無闇ヤタラに、いきあたりバッタリでコードを書 く奴は失格ね。 河野さん> CSLの横手がConcurrent Smalltalk 研究から、Apertos OS へ開発 河野さん> へ移ったのは、僕は納得できるものがあるんだ。 例えば、私の尊敬する大ハッカーは、Ellisの環境を、プロセッサーのレベル から作っちゃったでしょう?そこまでやって全部を完全なるオブジェクト指向 の世界を構築しちゃっている(マイクロコードを高度にハックするので、実行 速度が高いのだ!)。あそこまでやって、初めて、確立する。噂が流れてくる たびに、『すごい、凄すぎる!』とか思っていました。 河野さん> たとえば、 単なるinstanceの集まりではなく、 河野さん> executable/command としての単位の欠落 Multi User / Security 河野さん> の概念のないMessage Passing Persistency と File の相性の悪 河野さん> さ (これはあとでだいぶ研究されたけど) Concurrency に関する 河野さん> 機能不足なんかがSmalltalkのだめな部分だと思う。NEXTSTEP は、 河野さん> Mach OS の採用により、このあたりをしっかりcoverしているでしょ? 河野さんのようなことを言い始めたら、MachOSなんて、もう古いOSで すよ、完全に。 現在の商用の汎用システムや汎用OSでは、河野さんの主張するようなことは、 本当にぜんぜん出来ていない。オブジェクト間でのメッセージの交換で、完全 に暗号テクノロジーを使わないと、認証できないもん。例えば、世界中のコン ピュータが高速なネットワークで継れて、外見上1つのマシンに見えて、その 中で、各々のオブジェクトにメッセージを投げるような世界が来たら、そのオ ブジェクトのアイデンディフィケーションやサーティフィケーションは、どー すんの、という話がありますもん。 で、僕が暗号テクノロジーに手を染めたのは、広域の分散オブジェクト間でメッ セージを送るための最大の問題を解決するには、暗号テクノロジーしかない、 と思ったからですもん。 今は、サーバー/クライアントという単純な構造で、アプリケーションという 単位の粒度(ツブがデカイ!)を持つオブジェクト間で、データをやり取りす るので、やっと、上の問題を解決できるようになっただけですもん。具体的な 問題となるもの、解決するのも、たぶん10年~15年先の話ですが。 コンカレンシーに関してもいいたいことあるけど、これ以上、長く書くのは面 倒だからやめる。 河野さん> 本当は、Smalltalk は Mesa とかを置き換えるようなものである 河野さん> べきだったと思うんだけど、そのあたりのつながりはまったくな 河野さん> かったみたいですね。 問題はすっごくデカイ問題で、それは、中途半端な解決は意味がない... と、 僕は思う。 ひろのぶ
Technical Details
Message-ID:
<HIRONOBU.97Feb10172302@h2np.h2np.suginami.tokyo.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<HIRONOBU.97Feb8003038@h2np.h2np.suginami.tokyo.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 110fd3,80949045de2f46ea,start X-Google-Attributes: gid110fd3,public X-Google-Thread: 115a95,87be5c4d2d20ae0e X-Google-Attributes: gid115a95,public From: hironobu@h2np.suginami.tokyo.jp (Hironobu Suzuki) Subject: Re: NEXTSTEP and Smalltalk Date: 1997/02/10 Message-ID: <HIRONOBU.97Feb10172302@h2np.h2np.suginami.tokyo.jp> X-Deja-AN: 217752780 references: <HIRONOBU.97Feb8003038@h2np.h2np.suginami.tokyo.jp> content-type: text/plain; charset=ISO-2022-JP organization: HIRONOBU'S HOME NETWORK PROJECT mime-version: 1.0 newsgroups: fj.sys.next,fj.comp.oops