[b-free 772] Re: 仮身名

Naitoh Ryuichi (night@bfree.rim.or.jp)
Tue, 14 Oct 1997 00:21:42 +0900

隆一です。

From: h1suzuki@Bridgew.edu (Hideaki Suzuki)
Subject: [b-free 727] Re: 仮身名
Date: Fri, 03 Oct 97 06:34:28 -0500
Message-ID: <199710031030.TAA19893@b-free.orient.co.jp>

> domo. Aki desu.
>
>
> In "[b-free 667] Re: 仮身名" with Ryuichi Naitoh ,
> (02:13:05 PM +0900 in September 29,1997)
> - naitoh_r wrote.
>
> |「長い実身名を使わないでも良い」というのは、短い実身名を使うことができ
> |るということですよね。
> |で、それは長い実身名を許すシステムでもできます。
> |
> |逆に、短い実身名しか許さないというのは、「長い実身名が使えない」という
> |ことで、「長い実身名を使わないでも良い」とは異なった話です。
>
> えっと、この辺がちっと価値観の違うところで、長い実身名を与えると云う事は実身
> 名に大量の情報を許すと云う事です。その状況下で「長い実身名を使わないでも良い
> 」というのは、それは、「外字を扱える機構は与えておく。でも、使う必要はない。
> 」というのと似ています。「与える」と言うことは「それを使うことも認める」と言
> うことですよ。
>
> では、実身名と実身内容の違いってなんだと思いますか?
>
> 実身名に大量の情報を入れたいなら、別の実身にわけてリンクを貼るべきです。

私は、量によって実身名と実身内容を分類することはしません。
使う人が実身の名前として使うのが実身名だと思います。
(というか、これは定義そのものだけど)

で、仮身実身モデルはこういうものだから、実身名長はこれこれの
長さで十分という考えかたもしません。というか、できません。
なぜなら、実身仮身モデルでは実身名の長さについて、何も規定し
ていないからです。

> 実身名に大量の情報を入れる必要がないなら、長い実身名は必要ありません。

えーと、では大量に情報を入れる必要がある人にとては、長い実身名は必要な
わけですよね。

あらかじめ、実身名には大量の情報を入れる必要がないと我々にわかるのです
か?

> だから、実身名は、そんなに取る必要はないと思います。
> すくなくとも、改行や TAB を意識するのは、実身名の誤用ではないのですか?
>
> # なにが誤用かは判らないとかいうのは聞きたくありません。
> # そんなに、それぞれの情報の使い方が曖昧なら、一つにしてしまえばよい。
> # 実身名をのばす限り、しっかり、B-free としての、
> # Policy が必要だと思います。

うーん、Policy ですか。
では、「実身名に使用できるのは、TRON 文字コードで規定している文字である」
としましょう。

TRON 文字コードの定義は、BTRON1 プログラミングハンドブックの「付録 1 コー
ド体系」に述べている TRON 仕様日本文字コードのとおりです。
この中には、(1) 制御コード、(2) TRON 仕様文字コード、(3) 言語指定コード、
(4) TRON 仕様特殊コード、(5) TRON 仕様エスケープが入ります。

> |長い実身名が勧められない、というのはポリシーになり得るんですか?
> |センスがないとかいうのは個人の見解であって、B-Free OS のポリシーとは違
> |うのでは?
>
> ということで、Policy をもってください。
> 日本語で言うなら、「B-free での実身名に対する考え方」でも良いです。
>
>  「実身名は実身仮身ネットワークで○○という役割があると
>    B-free では考え、100文字で十分とする。」
> とかです。

「実身名は、実身に対する名前である」

これが実身名では?
実身仮身モデルでの実身名の役割は、これだけだと思いますが。。。

> |処理時間とも関係なく、ディスクスペースの消費もそう変わらないのに、単な
> |る個人の好き嫌いだけで長い実身名は勧められない、というのはそれこそ勧め
> |ることができません。
>
> そういう事なんですか? ^^;;;;;
> 個人の好き嫌いとか、、、、
>
> 僕は実身名の役割を考えて短くなるべきだと言ってきたつもりでしたが。

この実身名の役割というのは、Hideaki Suzuki さんの考えでしょう?
この ML の議論でも出てきたように、かならずしもすべての人が認めている
ものではないですよね?

で、BTRON1 のファイル名長も実身名の役割を考えてのことではなく、
むしろハードウェアの負荷などを考えてのことだと思います(多分)。

> |> たしか、Project Leader が「TRONを創る」で、End Users というのは Real
> tim
> |> e に実は厳しく、時間のかかる処理はそれなりに手間のかかる手順を踏んで「こ
> の処
> |> 理は大変な事をしているんだ」と利用者に理解させる事が重要だとかいていた気
> がし
> |> ます。<記憶が正しければ。
> |> この長い文字列も同様のことが必要なのでは?
> |
> |長い実身名を使うのが時間がかかる処理にはならないので、全然同様のことで
> |はありません。
>
> 先生が言ったのは、確かに「利用者を待たせる時は」の話ですね。
> べつに、長くしたところで利用者を待たせないかも知れませんね。
> でも、もし、20文字のファイル名を使って、それ以上は拡張コードで対応するような
> 場合は、「大変な事をしているんだ」と思わせるのは良いことだと思いますが。なに
> も、全ての努力を利用者から隠す必要はないでしょう。江戸の職人じゃないんですか
> ら。(笑)

あのー、処理の複雑さを表に出してどうするんです?
むしろ、実装時の工夫によって、利用者への待ち時間を減らせるように努力すべき
でしょう。

で、ファイルシステム全体に及ぶ検索などどうしても時間がかかる処理については、
時間がかかる処理だということを表現すればいいだけの話です。
あくまでも利用者にとって待ち時間が長いということをユーザインタフェースで
表現すべきであって、処理の大変さを表に出す必要はないです。

でも、20 文字のファイル名と 100 文字のファイル名で、ユーザインタフェース
を変えるほど時間が違うと本気で思います?

> |検索でもオープンでも、短い実身名と長い実身名の両方でそんなに処理時間は
> |変わりません。長い実身名を処理するだけで、大変なことをしているようなシ
> |ステムではもともと使いものにならないですよ。
>
> 実身名に TAD を入れるなら、情報量が一気に増えてそうは言ってられなくなるのは
> 、FTRON の TAD 通信で経験済みですよね?

いやー、パス名については むしろ TAD (TRON 仕様エスケープ)より多国語対応の方
が時間がかかると思いますよ。
パス名に多国語が入るとなると一文字一文字解析する処理がドンと増えますから。

> 、FTRON の TAD 通信で経験済みですよね?

これは、通信速度が低いからでは?

> それ以前に、長い実身名と実身内容との違いが、果たしてどうなるやら。
>

実身名と実身内容については、利用者が実身名として使っているものが
実身名でいいんじゃないですか?

> # 実身内容のみえている切れ端の部分が、実身名だったりして。
> # すると今度は、<開いた仮身>と区別が付かなくなってくるなぁ。

なぜ、区別がつかなくなるんですか?
実身名はあくまでも実身の名前であって、実身内容と混同はしないでしょう。

> で、今でも、制限長という立場ですか?
> それとも、今では自由長の方がいいと思っていますか?
> 僕は、100文字くらいは扱えないとだめかなあと最近は思っていますが、それでも、
> TAD を扱えたり自由長だったりとか言うのには反対です。

そうですね。TAD を使えるとしても 100 文字くらいでいいんじゃないですか?
でも、100 文字 = 100 バイトじゃないですよね?

> |# そういえば、「人間から入力を受け取るように設計されたプログラムは、コ
> |# ンピュータの生成する入力を受けるとたいてい許容量をオーバーしてしまう」
> |# という言葉もありましたね。実身名を自動生成する場合も考えないと。
>
> そんなん、気にしないで良いんじゃん?
> そういうのは、実身名じゃなく、補助レコードでしょ。基本的に。

えー、プログラムが自動的にファイル名を生成するというのはよくある話では?

> |> 次に。
> |> そんなに長い実身名を(例えば仮身化とかで)必要とするのなら、それは、実身名
> に入
> |> れるべき情報ではないのでは? まあ、20文字が少ないことは僕も認めます。
> でも
> |> 、100文字もあれば十分だと思いませんか? それ以上の長さの実身名には、
> 利用
> |> 者に「自由長の名前を付けるための手順」を踏ませるとか。
> |
> |いいんじゃないですか。
> |100 「文字」もあれば、99% の用は足りるでしょうから。
> |
> |でも、100 文字が 200 バイトとは限らないですよ。
>
> うーーん。この辺が難しいよねえ。たとえば、英語だと1語は数文字で構成されてる
> わけで、じゃあ、100文字==100語? それは絶対多すぎる。そんなの、1 p
> aragraph 書ける。それはもはや、実身内容に相当する。

いや、100 文字が 200 バイトと限らないというのは、多言語環境を
考えてのことです。別に英語の単語とかは考えていません。
つまり、目に見えているのが 100 文字でも実際のデータとしては
もっと多いということがあり得るということです。

# もちろん、TAD を入れる場合には、もっと増えます ;-)

> それに、ウインドウを開いたときのタイトルは、やはり、仮身名より実身名だと思い
> ます。ウインドウを開くとは「場」を移動すると云う事で、仮身側の見方より見てい
> る実身内容に関心が移っているはずです。
>
> 仮身名は、絶対に実身名とは同じではあり得ません。

えっ、そうなんですか? てっきり、仮身名は指定しなければデフォルトで実身名と
同じになり、使いたいときだけ実身名と違う名前になると思ったんですが。
そうすると、新しく実身を作成した時には、実身名と仮身名を両方つけることに
なりますけど。繁雑じゃないですか?

> 実身名は、実身に一つです。
> 仮身名は、一つの実身に幾つでもその場に応じて付けるのです。

今の 1B のような使いかたをしていて、仮身名をつけたくない人は?

> 実身名は実身を識別する助けになりますが、仮身名は全くその意味はありません。仮
> 身を貼るごとに実身に対する名前を考えて付けますか?

そりゃ、まぁ実身名は変わらないんだから、名前を考える必要はないですよね。
いちいち仮身をはるたびに名前を考えるんですか?

> |> 結局、実身名って、ある程度の限られた「場 - Context - 実身仮身ネットワーク
> 上
> |> の情報が作る小規模な意味のまとまり - ネットワークの Meso Level での情報構
> 造
> |> 」内でのみ有効な<(Cでいう)自動変数の名前>みたいな物で、その場の中でお互
> い
> |> に「同一性」を識別するために使われる Labels == Names じゃないんでしょうか
> ?
> |>
> |> だから、少なくとも、他と容易に区別の利く物でなくてはならない。で、文字列
> とい
> |> うのが選ばれたのではないだろうか?
> |
> |はい、そうですね。
> |そのためにも実身名は長くして、他の実身と識別できるようにしないと。
> |
> |短い実身名しか許さないようにしてしまうと、範囲を限定した場合でも
> |識別ができなくなるかもしれませんからね。
>
> 1Bだと、どのくらい限定すると20文字で不十分になるでしょうか。
> どうおもいます?
> 別の言葉で言うと、どのくらいのネットワーク上の<距離:遠さ>なら、同じ実身名
> が頻繁に出てきて、区別に困るようになると思います?
> Java の場合は、クラスの壁でしたね。別のクラスの中まで行って比べると、メソッ
> ドに同じ名前が出てくる。そう言う名前空間を使ってますから。で、それだと「どう
> して/どのくらい、非常ーに困ります?」

いや、こういう「ネットワーク上の<距離:遠さ>」という議論は的はずれで、
利用者がどのくらいの長さの実身名を使いたいと考えるかでしょう。
頭の中でモデルを作っても、それが使う人にとって不自然なモデルならば、意味
がありません。

# それに、私がこれだけ使えないと困るという長さは、他の人にとって
# は、全然足りないかもしれないし。私はこれだけあれば十分だから、
# すべての人はこれだけで満足する、という考えかたはできないですよね。

> 実身名で考えるって云う事は、「実身名という記号のリンクによる繋がり==記号の
> 連なり」で考えるって云う事だよねえ?

別に記号 = 文字の集まりとは限らないのでは?
(そりゃ、まぁ、これまでの計算機科学では、シンボル = 文字のつらなりで、Lisp
とかの言語でも無条件にシンボルを文字の集まりだけで表現していましたけど)

> 3 TAD を入れた長い実身名は、通常の実身名と処理の cost が違う。

これは、多国語対応を考えた場合でも、本当でしょうか?

---
B-Free プロジェクト実行中! 詳細はこの Web ページへ
(http://www.b-free.orient.co.jp/)

内藤隆一 (rnaitoh@st.rim.or.jp)