In "[b-free 614] Re: 仮身名" with Takanori Hayashi ,
(06:37:41 PM +0900 in September 25,1997)
- takanori wrote.
|h1suzuki> 内容を識別とは、例えば、「JFK の暗殺」の事についてかかれた実身に
「JFK の暗殺
|h1suzuki> 」という名前を付けるとか、明治の開国のごたごたを集めた実身に「明
治維新」とい
|h1suzuki> う名前を付けるとか、そう言ったことです。
|
| そういう目的指向で作成された実身だと短い名前になるかな。
|しかし一方で、短い名前を付けることが不可能ではないにしても
|困難な場合もあると理解してください。
例はありますか?
|h1suzuki> あと、えっと、「いつでも」に対しては、
|h1suzuki> 情報はある種の集まりがあって、ファイルを成すのですよね。その「あ
る種」という
|h1suzuki> のが実身名になるのでは? それは、Context-free な情報で、そのファ
イルが構成
|h1suzuki> される理由みたいな物です。
|
| ファイルが「ある種の集まり」である限りはそうかもしれない。
|でもそういう場合ばかりではない。例えばその集まりの「断片」
|である場合、実身名は「集まりの名前+集まり内での断片の位置」
|のような形になって長くなるでしょう。
| そういう場合でも発想を転換すれば短い名前を付けられるかも
|しれない。しかし、それを要求するシステムは使いたくないよ。
これはどう言うことだろうか?
部分集合と言うことだよね。
これは、集合全体を一つの実身にして、その中に部分集合である実身を集めていくこ
とで、実身名配置を持たなくても良くなると思う。もしくは、文章なら、集合全体を
一つの文章として、ただ単に、その中に列挙していくとか。で、ある程度の長さにま
とまってから、結び直すという奴ね。
でも、一見逆説的に見えるけど、Context-free な性質の情報と Context-dependent
の情報が実身仮身ネットワークでどういう風に絡んでくるのか、もう少し、周りを
見る必要があるのかも知れない。それから、Night さんへのレスで書いたのですが、
他の実身と識別するための情報は、むしろ仮身側に入れるべき物かも知れないと言う
ことです。どう思います?
# 自分でも、思考中というのが正確。
# だって、そんな事、議論になった事無いもん。感謝 > B-free :)
|h1suzuki> TAD も文字は基本的に固定長じゃん。可変長は Escape-code による扱い
になる。ま
|h1suzuki> あ、RISC な思想は持っていないけど、今まで固定長だった物を可変長に
するのは、
|h1suzuki> 一種抵抗みたいな物があります。
|
| 個別のセグメントは別として全体としては可変長、というより
|不定長でしょう。個人的には、固定長を使ってチマチマ高速化を
|図るより、全データを可変長レコード列にして可変長レコードの
|全体を高速に扱う工夫をする方がやり方としては好きだけど。
そうだなぁ。
どんな工夫が考えられます、もしくは、これから考えようとしてます?
# 別に「チマチマ」では無いと思うが。^^;;;;
|h1suzuki> # Win とかのファイルシステムって、どこに、あの8文字以上の情報を
しまってる
|h1suzuki> の?
|
| 本論には関係ないけど。VFATの場合ですが、複数のディレクトリ
|エントリを使って長いファイル名を入れます。通常のエントリの
|後に長い名前の入る拡張エントリが続きます。ちなみに非対応の
|システムからは拡張エントリはボリュームラベルに見えます。
| ついでに言うと8.3形式の方には短いファイル名が入ります。
Directory Entry ですか。たはは。
まあ、the only way to go ってな所か。^^;;
些細な疑問の回答に感謝>林さん
# それにつけても、窓95で ~ を付けてくれるのは
# 何とかならないかな。ちょっとしたことで、 ~1 が ~2 になる。
|h1suzuki> 言い換えると、「仮身内で改行なしに一般的な用紙幅をこえたりしない
長さ」と言う
|h1suzuki> ことかな。
|
| そんなのは文字の大きさや用紙幅で変わるでしょう。文字サイズ
|を半分にすれば倍入るのだから。
その辺は、ほら、標準的というのがあるわけですよ。^^;;;
ちなみに半分の大きさにすると、ほぼ、認識できなくなります。
更に、倍にすれば、大抵の見出し文字より大きくなります。
紙の大きさも比較的よく使われる物で、三穴の Binder で普通に収納する紙です。横
が 1.5 in. と言うのも、これまた、標準的(1 - 1.5)です。
と言うことで、標準的と考えられる印刷物の典型を一応出したのでした。
と言ったところで、この提案の意味の重さが増える訳ではないことは十分判ってるこ
とは、Night さんの発言へのレスの通りです。
|h1suzuki> すると、実身名を長くしたいというのなら、この、注釈レコードを使用
するかも知れ
|h1suzuki> ないと言う理解で良いですね? 仮身にこの情報を表示しようと言うの
ですか? そ
|h1suzuki> れは、まだ賛成できないけど。
|
| 開いた仮身には実身の中身を表示するのだし、実身名だって
|ピクトグラムだって実身に書き込まれた情報だし、そういうのと
|特に違いはないですよ。
Pictgram って、実身側に書き込まれてるんだっけ?
仮身によって、標準 App が代われば変えられる物じゃあなかったんだ!
あらあら。
一番の障害は、注釈レコードはそのための目的(仮身の文字列の代わり)に存在する
のか? という事かな。どういう用途に注釈機能を捉えていらっしゃるのですか?
# 使えれば何でも使って良いという物でもないんじゃん?
|h1suzuki> | たとえば図形実身のプレビュー画像をアイコンみたいに表示するとし
て
|h1suzuki> |これを仮身に入れるの? こういうのはやはり実身に付属する情報だよ。
|h1suzuki>
|h1suzuki> ???
|h1suzuki> 「開いた仮身」じゃだめなの?
|h1suzuki> どうせ、表示領域は、標準の App が書くんだし。
|
| 「開いた仮身では注釈レコードを表示するのが原則」とかなって
|しまえばそれでも良いのだけど。主TADレコードをそのまま表示
|するだけの現状では意味ないですね。
| ついでに、開いた仮身の表示をデフォルトアプリケーションが
|するのもなんとかして欲しいですね。柔軟性欠如も甚だしい。
そですね。それだとそれで良いことかもね。>注釈+開いた仮身
開いた仮身は、元々、Preview という意味があったのだと思う。だから、Default A
pp が内容を表示するのではないかなあ。で、僕たちは、Preview を越えて「仮身の
代用にする物を表示するため」に開いた仮身を使おうとしている。だから、不便に感
じるのだろう。
今気が付いたのは、僕たちの議論は、どんどん実身(の内容)と仮身とを切り離して
行こうとしているのではないかという事。
まず、仮身に表示される名前から、実身内容を切り離そうとし(仮身名)
更に、仮身に表示される物を、実身内容とは関係ない物で
置き換えようとしている。(注釈機能)
果たして、それで、良いのだろうか?
まあ、自分で言い始めたことなので仮身名の方だけはフォローしとくと、「仮身名は
実身内容に対する、実身名より状況にあった見方や、実身の参照目的といった情報を
提供する物」と述べておきます。この辺は後の発言で纏めるね。
| 例はばっさり切りますが、私はJavaを半端に実身/仮身化した
|言語に興味はありません。先例はJavaのライブラリマニュアル
|を実身/仮身で表すのにメソッド単位で実身を作る際の実身名の
|付け方としてあげたものです。実身/仮身でなくても良いから
|HTMLマニュアルで考えてみましょう。個別のメソッドの説明の
|タイトルは何にします? 私なら長くてもフルスペルを使います。
|長い名前はシステムが識別するために必要なのではないのです。
|人間が適切に識別するためにこそ必要なのですよ。
| また、この「Javaマニュアル」の例は、自身が「情報の断片」
|である場合の典型です。「Javaマニュアル」は短いけど「Java
|マニュアルの中のXXというクラスのYYというメソッドの説明」
|はとても長いです。
「情報の断片」はやはり、部分集合と考えて良さそうですね。この意見に対しては、
実身をネットワークから取り出すという行為が、そう言った長い名前をもたらすと(
Night さんへのレスの通り)まず、認識しましょう。その上で、Method を参照する
場所によって、仮身名で「Java の○○クラスより」とか振っておけば良いと思いま
す。また、そう言う風に振ることで、全件検索の時に「この実身に対する仮身名の集
合」と言う形で、どう行った引用が行われているのかを採取することもできる。
# 例えば、「クラス○○」という実身の中では、完全名は人間が認識するのに必要
ではな
# いし、逆に Java 以外の言語からの参照なら「Java 1.1.4 の○○クラスより」
まで言う
# 必要があるかも知れない。どれも、変化の無いのは Method の名前で、修飾部は
変化して
# くる物だと思います。
|h1suzuki> そうですね。「Keyword v.s. Identifier」はすごく良い描写だと思いま
す。
|h1suzuki> 僕の見方では、Identifier は十分に簡潔になれるという立場にいるわけ
で、その辺
|h1suzuki> の状況理解(認識?)がもう少し必要みたいです。
|
| 上記「Javaマニュアル」が反例です。他にも同じような状況
|は一杯あると思いますよ。
と言うことで、ネットワークを無視したために起こる修飾部以外で、実身名を長くす
るような文字列の同じような反例はありますか?
|h1suzuki> で、技術的な制限の少ない方を取るのは無難なんですが、僕はそこで、
B-free に P
|h1suzuki> olicy を求めていた(いる)わけです。あまりに自由度が大きいのは、時
に混乱を招く
|h1suzuki> というのは周知の事実。まあ、両方試してみてから、Policy を選ぶとい
う方法が B
|h1suzuki> etter かなぁ。
|
| そこで制限してしまうのはpolicyというよりideologyでしょう。
|枠は大きく取って使い方はユーザに任せるのが技術者のpolicy
|というものです。
はい。そうかも知れません。(しゅん /_/)
Night さんが後で触れているように、少なくとも、File Manager では制限はしない
べきなようですね。
で、GUI が乗るくらいまでには、結論は出ているでしょう。:)
| 下位互換性(1Bにデータを持っていくこと)を考えなくて良いなら、
|仮身名(リンクレコード拡張による)は良い機能だから、B-Freeで
|実装するのに反対しない、ということ。
| でも、下位互換性の必要な場面では使えないし、長い実身名を不要
|にするようなものでもないので誤解しないで欲しい。
長い実身名を不要にするかどうかは、もう少し、考える必要があると思います。
# とりあえず、200文字の実身名とかは、なにか使い方間違ってるはず。^^;
# < 間違っているという主観的要素に関するつっこみ無用。
|h1suzuki> | 普通は実身を(浅く)複製して変更しますね。
|h1suzuki>
|h1suzuki> 浅いというのは、木構造ではないので、よくハッキリしませんが。
|
| 目的の実身から参照される実身群全てを複製するのが「深い」
|複製、目的の実身内の仮身は複写するのが「浅い」複製。
なるほど。
そう言えば、そう言う用語の使用法があった気が。^^;;;;;;
咄嗟に出てきて判りませんでした。
そうだ、B-free では、浅い複製をシステムで提供するのだろうか、、、?
だったら、良いなあって。UI が問題だけど。<と横道にそれてみる。
|h1suzuki> | そういうのは「最新パッケージ」というキャビネットに
|h1suzuki> |「JDK 1.1.1」を入れておいて入替えるか、続柄で「最新」
|h1suzuki> |を付けておくかするのが、正しい処方かと。
|h1suzuki> | 直接リンクの中身を下手に変えると、互換性が取れなくて
|h1suzuki> |動かないものが出るかもよ。
|h1suzuki>
|h1suzuki> 「動かないもの」とは?
|h1suzuki> もすこし、具体的に云ってくれると、想像できるかも。
|
| コンパイラの特定のバージョンに密着したコードを書いていると
|バージョンアップしたときに動かないことは良くある話です。
えーっと、それは、どういう事かな。
Server のファイルを実行してClient のファイルを Compile するって事?
それとも、Client の Java が Server の例題を実行するって事?
僕は、単に Download を考えていたのだけど、もっと密着したネットワークの事です
か? だとしたら、確かに、動かないものも出てきますね。
|h1suzuki> 続柄は、ネットワークを越えては使えないのは、承知のことと思います
。何せ、シス
|h1suzuki> テムに固有の table&index で文字列を表示してますものね。だから、最
新という続
|h1suzuki> 柄を付けるのは、仮身を持っている Client の仕事になりますね。これ
は機能しない
|h1suzuki> と思います。
|
| 使えないとは言えないよ。ネットワークに乗せるときには文字列
|にして送るとかの技は使えるから。
そう言えば、思い出したのは、むかーし昔の TRONWARE で、結構長い「TRON 君の〜
」とかいう漫画が2連載で載ったことがありましたが(昔の TRONWARE って凄かった
^^;)、その中で、電子メールに仮身を乗せて送るときに、続柄を仮身に貼ってまし
たね。<って、なんてマイナーな(笑)
いやあ、今手元に TRONWARE が無いので、どんな筋か覚えていませんが、電子メール
(=仮身送信)でデートに誘った返事に仮身に "Yes" という続柄を付けて送り返して
いたような。だから、技術的な問題というのは、全然無いのでしょう。<おいおい
^^;
まあ、それを、社内 LAN でなく WAN でやるとなると、話は全然違いますが。
でも、続柄の良さは、Table に入っていて、選択だけで決まり切った(しかも頻繁に
代わる一時的3次的少量な)情報を仮身に添付することで、それはそれで、仮身名と
は違った物だと思う。
# 大は小をかねる的な考え方もあるんだけどさぁ。
|h1suzuki> 「最新パッケージ」は、僕の JDK1.1.1 という名前を置き換えただけで
、とくに同じ
|h1suzuki> Analogy に聞こえますけど。
|
| 最新版を使いたければ「最新パッケージ」につなぐ。特定の
|バージョンに依存する場合はそのバージョンにつなぐ。これで
|バージョンアップ時にはどちらもそのままにできます。
なるほど。
でも、「最新パッケージ」は JDK1.1.2 の別名(仮身名)ですか?
それとも、浅い複製で別の実身を作った方がいいのでしょうか?
えっと、薄い複写をした場合は、「JDK1.1.2 と最新パッケージの関係」はどうやっ
て掴むことが出来るでしょう? 最新パッケージがJDK1.1.2 と同じである保証は何
もありませんよね?
# 文章で「同じ」と書いておくとかいうのは無しね。^^;;;
|h1suzuki> うーん。全文検索まで行かなくとも、貼ってあるリンクで絞り込むとか
。例えば、
|h1suzuki> 「私撰集 で 小野小町を含む物」とか。
|h1suzuki> ただ、ここで、小野小町が実身名なら、「小野小町」の歌ではなく人物
像へのリンク
|h1suzuki> を含んだ「私撰集」という実身が見つかるわけで、「小野小町の歌のあ
る私撰集」と
|h1suzuki> いう検索をしたい場合は、実身名より、仮身名や注釈機能からの複合検
索になるだろ
|h1suzuki> うなあ。まあ、小野小町の歌の名前を知っていたら、実身名とリンクだ
けで何とかな
|h1suzuki> るだろうけど。
|
| データに特定の構造が期待できれば良いのですけどね。
|実身名に適切なキーワードが含まれていること以上に
|期待薄です。
特定の構造とは、Database の書式みたいな物かな。そう言った物は、そんなには必
要ないと思うけど。
「小野小町」で引けば、歌より人物への情報が得られると言うのは、自然では?
それより、ネットワークをそのまま取り出す方法を考える必要がある気がする。
やっぱり、Link-sequence で検索を掛けるのが、良いのだろうか?
いろんな検索が考えられる。
1 a という実身を持つ b と言う実身を持つ c という実身
2 a, b, c から参照される、d
3 a, b, c, を参照する、d
とか。a/b/c とかには実身名が入るのね。さらに
4 f, g, h, という仮身名を持つ実身 i
5 l と言う実身名で、f という仮身名を持つ実身を参照する実身 i
6 巡回参照のある、実身 i
7 l という実身を参照する全ての実身群
とか。
| 一般的に、長い実身名の場合の仮身名は、実身名のうち
|仮身の置かれるコンテキストで自明な部分を除いたもの
|(もちろん整形はされるが)になると考えます。
これでは実身名が、実身仮身ネットワークを無視しすぎてると思います。
実身名を Context に依存させることで実身に最低限必要な(どこでも嘘のない)表
現を見つけ、で、他の参照先からは、仮身名などで補ってやるというのが、(少し修
正のあった)僕の今の考えです。
実身名を Context-free にする事は、仮身名でいかようにも補える名前にすると言う
ことではないでしょうか?
その考えは、(特に外の Network に繋がったとき)それぞれを実身仮身ネットワー
クでの参照状況(Context)無しで実身名だけで識別するのが、事実上不可能である
ことから来ています。
どれだけ詳しく実身名を書いても、どこかで、同じ様な名前に当たる可能性がある。
すると、「どういう状況下で使われているか?」という情報が、それぞれの実身の識
別に重要になって気やしませんか?
|h1suzuki> それから、仮身名と注釈機能の扱いの違いについても、もう少し、詰め
る必要がある
|h1suzuki> と思います。
|
| これは実身との関連性と、コンテキストへの依存度合い
|の兼ね合いで決まると思います。
後の発言で纏めてみます。
- Aki @ ねむいらしい
--------------------------------------------------------------
Hideaki Suzuki (SO in Bridgewater State College)
e-mail H1Suzuki@Bridgew.edu
Home Page http://www.yashi.com/h1suzuki (Under Constr.)
Nifty-Serve KGH06253