🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.sys.next
Article #243

Re: NEXTSTEP and Smalltalk

#243
From: Hironobu Suzuki
Date: Wed, 12 Feb 1997 00:00
151 lines
8971 bytes

>>>>> "久野さん" == kuno  <kuno@gssm.otsuka.tsukuba.ac.jp> writes:
In article <5dpvf6$f5i@utogw.gssm.otsuka.tsukuba.ac.jp> kuno@gssm.otsuka.tsukuba.ac.jp writes:
 久野さん>   オブジェクト指向OSなんかはいいんでしょうか。

世に言うオブジェクト指向OSという言葉もかなりのクセもので、単純には言
えないのですが、今までのOS/システムの中では僕はSymbolicsマシンの環
境なんかが一番イメージとしては近いものがあります。もう、何年も前に会社
は消えちゃったんだけど。

 久野さん>   「普通のOS」と「古典的なOS」は同じなんでしょうか。

前回書いたときは、ワーっと一気に書いたので(今もそうだけど)、あんまり
意識しませんでしたが、ちょっと整理したいと思います。

UNIXのファイルシステムのような、古いセマンティクス上では、そのまま
では、ぐわーっとためこんだオブジェクトを管理できない。

Multicsで生まれApploに引き継がれ、最近、普通、Mach(他の最近のOSでも
サポートしていますが)なんかで持ている単一記憶機構は、だんだんとオブジェ
クトとして扱えるようになるけど、しかし、ダイナミックにリンクしているわ
けではない。

で、ヨーロッパの人達が、UNIXのようなファイルシステムはダサイ、トポ
ロジーもつけてオブジェクト管理するのだ!と言ったかどうかは知らないけれ
ど、PCTEなんかが、ちょっと違ったアプローチからやっています。よくわ
かんないけど、僕が感じた限りでは、オブジェクト指向的ではあるけれども、
ちょっと距離をおいて現実路線かな?って気がします。

もう10年(?)くらい前に既にSymbolicsがやっていたようなダイナミック
なオブジェクト管理は、見当たらないなぁ、と。

閑話休題

Macに差すSymbolicsボードが誰も見向きもされずに、ホコリを被っていたので、
可哀相なので、それを遊びで動くかどうか試していたことがあるのですが、こ
れがなかなか勉強になりました。もう、その頃は会社も潰れていて、誰も見向
きもしないSymbolicsでした。ちなみに、後の資産管理チェックの時に、実は
このボードはメチャメチャ高いということを知ってビビったのですが。

 久野さん>   っていうことは、プログラミング環境がオブジェクト指向とい
 久野さん> うだけでも足りなくて、ネットワーク中がすべてオブジェクト指
 久野さん> 向でないといけないのではないでしょうか? 昔はそのためのOSを
 久野さん> オブジェクト指向OSにするのだ、なんて感じだったけど今はそれ
 久野さん> は無理だからどうこう、というのでJavaとかやってるんじゃない
 久野さん> かなー。

それは、マーケット・プロブレムです。技術的な問題じゃないです。大量にさ
ばけるシステムは、安価になるからです。安価になれば、マーケット的に広が
ります。その広がったマーケット(プラットフォーム)上で展開すれば、より
広がるじゃないですか。

ついでに言うと、セマンティクスも何もかもすべて新しくすると、多くのデベ
ロッパーがついてこれません。短く言えば、多くの人達が理解できないのです。
それをカバーしようとすれば、教育コストがベラボウになる。ベル研の人達が、
Cを拡張してオブジェクト指向を取り入れたのも、Cプログラマがオチコボレ
ないようにして、かつ、オブジェクト指向の生産性を取り入れられたらいいなぁ、
という非常に妥協した考えからですよねー(と、OOPSLAでAT&Tの開
発教育担当うんたらの人がいっていた)。

Javaの話に戻りますが、結局、バーチャルマシンをハードで実現したNCを出
すとかいってる。結局、めぐりめぐって、同じ世界に辿りついている(笑)。

なんか輪廻転生って感じが...

 久野さん>   TAO/Silentですか。そりゃ素晴らしいと思いますよ。ただ、上
 久野さん> で述べたように、世の中が全部あれになるという訳には今いかな
 久野さん> いわけで、じゃあどうするかということです。

僕は、あの環境がパブリックドメインで提供し、かつ量販ハードの上で動くの
なら、新しく一台マシンを新しく買って載せます。ちなみに我が家のPlan 9が
そのパターン(今、ディスクがないんで消しちゃったけど)です。

 久野さん> 成り代わりとかが可能だけど、システム全体がすごい速さでメッ
 久野さん> セージを交換しながら遷移して行くようなものを考えると、傍受
 久野さん> はできてもすり代わることはできない(すり代わろうとした時には
 久野さん> もうそれは古くなっていて無視されるだけだとか)、なんてことは
 久野さん> できないかなとか…

それではスピードに対する概念が曖昧です。『速い』というのは、あくまでも
相対的な速度であって32bit CPUパソコンには、『十分に速く処理が追い付か
ない』スピードであっても、64bit CPU高級ワークステーションには『余裕を
持って処理できる』スピードで、最新のスーパーコンピュータには『止まった
ような』スピードです。

おなじことは、リアルタイム処理という考え方にも当てはまります。真実のリ
アルタイム処理なんというものはなくて、これは『(処理が十分に速いので)
事象発生と処理が十分に同期できる処理系』という具合に言い換えることがで
きます。

それを踏まえて、4や8bitマイコンのリアルタイム処理より、高速なハード上
で動作しているTSSで、ラウンドロビンの一ラウンドが、マイコンの1処理サ
イクルよりも速いスピードでラウンドしている時は、それは、マイコン以上に
リアルタイム処理ですよね?

 久野さん>   クライアントサーバも古典ですよね。ところで、Smalltalkでは
 久野さん> JavaやHORBの分散オブジェクトに相当するものは何があってどれ
 久野さん> くらい使えるんでしょうね?

HPのDistributed SmalltalkはCORBA仕様だそうです。残念ながら使ったことは
ありません。

 久野さん>   あと、OOAやOODで定式化しようとしている枠組ももはや古典で
 久野さん> あってとかいう問題はないんですか? あれで分散オブジェクトを
 久野さん> 活かしたシステムみたいなものがうまく開発できるのかよく分か
 久野さん> りません。

OOAやOODは効果的開発のための手法だと私は理解しています。それから、OMT
なんかは、分散オブジェクトでも何でも構わないと思いますよ。あー、でも、
同期はどうするんだろうなー。今、手もとに本がないので、ちょっとチェック
できない;-<

 久野さん>   私はここが本業なので今度書いてください。少なくとも
 久野さん> SmalltalkもJavaもここは20年前とくらべて進歩してないのでは、
 久野さん> という偏見(?)を持っていますから。

というか、もう、処理系としてのモデルは完成されているんでしょう。エラー
ソーな言い振りで怒る人もいるかも知れませんが、モデル的にはSmalltalk-80
あるいは、もっちょっと後のCLOSで現在のOO処理系パラダイムは打ち止めみ
たいな感じになっちゃっていると思います。

Kalaida Labo(AppleとIBMの合弁で作った会社で、今はもう潰されています)
ScriptXというOOな言語があるんですが、このクラスが、ちょうどSmalltalk
のクラスライブラリに実時間処理を入れたらこんな感じになるんだろうな、と
いう感じのデザインになっていました(結局Appleは、ScriptXをお蔵入させた
みたいです。SUNにおけるJavaが出て来る過程とホント180度違うよねー)。

これも、やはり進化じゃなくて、フューチャーしましたって感じです。メディ
ア(画像/音声/アニメーション等)のシンクロを意識した、実時間をコント
ロールするプログラムをきちんとかけそうで、仕様を見る限りは、出来ていて、
僕は欲しかったんですけどね。

それとは別なんですけど、デザイン・モデルの話をすると、人それぞれの背景
とモデル法があって、同じことを言っているんだけど、ちょっと表現が違うん
で、まだ、設計法は途中だ、みたいに一般には言われやすい気がします。

以前、僕がOOPSのデザイン/モデル論を勉強していて気づいたのは、オブ
ジェクト指向発祥の地、北欧の人達は、やはりSimulaの流れを組んで事象(フェ
ノミナー)を中心したモデルを力説するし、西海岸系の人達は、バックグラウ
ンドにインテリっぽく記号論的モデルを意図しているし、東海岸系の人達は、
もう、コアなエンジニアリングしているし。もちろん日本からは青木さんの仏
教世界から(?)の視点によるものがあります。

最近は、色々なクラスライブラリのデザインを見ていると、輪廻転生って感じ
が...

コンカレンシーは、ボロがでそうなので(今でも出てるけど)、久野さんを前
にしては、出来ません(笑)。

						ひろのぶ
Technical Details
Message-ID: <HIRONOBU.97Feb12225126@h2np.h2np.suginami.tokyo.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <HIRONOBU.97Feb8003038@h2np.h2np.suginami.tokyo.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 110fd3,80949045de2f46ea
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/12
Message-ID: <HIRONOBU.97Feb12225126@h2np.h2np.suginami.tokyo.jp>
X-Deja-AN: 218260997
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