アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
Re:COM使うのは単にUIの問題 (スコア:1)
まぁある意味でそれは正しいですね。
ダム端末でテキストを「流す」というお馴染みの操作体系をOOP風に言うならば、
同じファイルを何度も cat するっていう操作は、
そのファイルの1行目(、2行目、…)を表示するためのViewを
Consoleというコンテナの上に毎回生成し使用し破棄してる、ようなものであって、
「Scroll」っていう概念はものすごく非OOPで非MVCな世界を支援していると思う(笑)。
逆にいえばcursesとかそれより上の世界はOOPと馴染みやすいはず。
>それでもUNIX的に考えれば、Modelに対応するのはファイルの形式、
#蛇足ですが突っ込むなら、「形式」ってのが.cだの.hだののことを言うのでしたら、それは
#ModelというよりModelのクラスですね。
「あるファイルに書きこまれたら処理hogehogeが起こる」ってのは記述しにくい、ですよね?
logに対してtail -fすることによって LAN PCカードを挿入されたらNetworkを有効にする、
みたいな記述を NetBSDでやったことは有ります。首をかしげながら(^^;。
>ディレクトリをオブジェクトとみなして、
>コマンドへのシンボリックリンクをメソッドとみなしたりすればいいはずだけど、
妙ちきりんなshellを(もしかしてshellスクリプトとして(笑))実装できるかも。
データ(Object)ディレクトリには必ず./.methods/っていうディレクトリが有り、
その中にはメソッド形式(第一引数が必ず selfディレクトリ名
だと決められている)に対応した各種プログラムへのsymlink
(多態のため、別Objectの中の同一名のsymlinkが必ず同じコマンドを指すとは限らない)
を入れておけば、いけるかも。
./.method/.superが親クラスへの参照で。
てゆーかメンバ変数もメンバ関数も全部ファイルまたはsymlinkで実現すれば良いし。
更に言えばsymlinkじゃなくhardlinkにすればガベージコレクション(!)してくれるし。
#すると違うfilesystemは分散オブジェクトか?(笑)
#あ。しまった。ディレクトリはhardlinkできないんだっけ(T_T)。なぜだ?とにかく却下。
#あ。しまった。どっちのlinkでもnullが表現できない。どうしよう?
クラスとInstanceの関係については、prototype型言語を見本にすることで
クラスという概念の実装を後回しにしても一応オッケーだし。
あ。面白そうだ。後で試作してみるっす(^^;
幸いそういう設計は最近色々考えてるんで、あとはプログラムの中じゃなくfilesystem上に実装すれば良いだけかも。
そしてそのshellが「コマンドライン」を適宜解釈して動けばいいわけですね。
ああ。プロセスにObjectが載っている世界から比べると泣くほど遅いことが
かなり想像されますが、どっかのOODBシステムよりはマシかもです。
現状のままのunixのfilesystemをObject環境として見なす場合の面倒さは、
どのObjectにどのメソッドが適用可能なのかが完全にハードコーディング又は人力に
依存しているという点ですね。上記の方法で多態すれば幸せかな。
$HOME .get_cshrc .edit とかやれば vi .cshrc が起動するって定義しとけばいい、と。
というか間抜けなのが$PATHですね。
うーん。実の所、ファイルはあまりObjectとして適任では無いのではないだろうか?
むしろディレクトリのほうが良さそう。
ファイルのメタ構造は専用アプリ以外誰も知らないけど、ディレクトリのメタ構造はOSが知ってる(全部処理してくれる)から
ファイルをObjectと見なすと、メタ情報に基づいた制御が出来ないんで、凄く硬直したシステムになってしまいまそう。
つまり今のUnixそのまま。
http://hpcgi2.nifty.com/guion3/tiki/tiki.cgi?c=v&p=gosh とか作っておこうっと。
>JavaBeans がウケなかったことは教訓に値すると思う。
あれはjavaという言語が憲法9条みたいに(笑)変化しないことを志望したことの副作用じゃないかなあ?
メソッド名の頭がsetとgetでございます、などという頼りない縛りでは、
「コンポーネント」を作ったり使ったりする人が凄く落ち着かないと思います。
VB/delphi/C#みたいに専用の構文を持つべきだろうな。
むしろMSがご自慢のCOMとやらを使って何かやりゃいいのに?とか思わないでもないです。