名前案

Kouichirou Eto 2003 @ eto.com
2003年 1月 23日 (木) 00:01:23 JST


江渡です。

あいかわらず名前問題にこだわっていますが、
以前奈良で守岡さんと議論した内容を簡単にまとめ、
次に私が考える案をアトランダムに書いてみます。

以前議論の中で混乱していたのは、UTF-2000モデルとXEmacs UTF-2000実装とは
二つの違うものを意味しているということが理解できていなかったからです。

前者はあくまでモデルであり、そのモデルに沿った実装手法はいろいろありうる。
後者はあくまで実装であり、あるモデルに沿ってはいるが、
それ固有の特徴を持つ一つの具体物である。

名前問題について、守岡さんは「xモデル」「XEmacs x実装」のxに当る部分を
どうするかについて話していたようなのですが、私はそうはとらえていなかった。
というかその二つがどう分離しているかを理解していなかった。

理解した上での結論は、その性質がまったく違う二つを同じ名前で呼ぼうと
していることが一番の混乱の原因であるということです。
つまりその二つのxは、異なったものにするべきです。
つまりモデル系の名前と、実装系の名前をわける。

また「標準で付属する文字データベースの基本セット」
に適切な固有名がついていないのも問題だと思っています。

まず前者のxについて私の案を出すと、いままでの方式は「符号化文字モデル」とか
「符号化文字方式」だったから、その対立概念であることがわかる名前として、
1a. 「属性文字指定モデル」「属性文字指定方式」
という名前がいいと思ってきました。

その他についても考えてみました。

1b. 「守岡モデル」
実をいうとこの名前が一番わかりやすいと思います。しかし守岡さんは反対するかもしれません。

1c. 「属性文字モデル」
これはこれでわかりやすい。

1d. 「文字データベースモデル」
ここまで言ってしまうと、データベースそのものを指してるように聞こえてしまう。

1e. 「文字オブジェクトモデル」
私はこの1eが一番いいと思っています。

今は文字に属性があり、それを参照することによって文字が規定されるという
モデルであるようですが、しかしその属性をどのように処理するかは
プログラムがあらかじめ知ってることになっています。

しかしどうせなら、その文字をどのよう処理することができるかそのものを
文字自体が知っていてほしい。という意味で、私は文字をオブジェクト指向における
オブジェクトそのものととらえるのが一番素直でわかりやすいと思います。
(現在のXEmacs UTF-2000のモデルはそうななってないかもしれませんが。)

という私自身の考えから、この名前が一番いいと思いました。
それをさらにもう少し説明的にいうとこうなりますか。

1f. 「文字オブジェクト指向モデル」
これはこれでもいいかもしれない。

後者のxを2番として考えると、その対象として今は
XEmacs UTF-2000とRuby/UTF-2000との二つの実装があります。

これはあくまで文字オブジェクトモデルを具体化した実装なので、
固有名詞っぽい名前がいいと思います。以前から何度も言ってますが、
UTF-2000というのは固有名詞っぽく聞こえないという意味で、
すごく悪いネーミングです。その意味で、私はできれば「Ruby/UTF-2000」
という名前は広く公開するときには使いたくないと思ってます。

守岡さんの案として、Chaonという名前があって、それをあてはめると
下記のようになります。

2a. 「XEmacs Chaon」「Ruby/Chaon」
しかしどうも守岡さんの考えだと、実はあくまでも前者のx、1の方の名前の
案として考えていたのですよね。その意思を尊重すると、ここにはこの名前は
使わないほうがいいかもしれません。

2b. 「XEmacs CHISE」「Ruby/CHISE」「libchise」
project名をそのままプログラム名にももってきてしまった。
これはこれでわかりやすくていいと思います。

私は一つ名前の案がうかんだのですが、これは反発が大きいかもしれないなぁ。
2c. 「XEmacs Monster」「Ruby/Monster」「libmonster」
化物みたいに文字がたくさん使えるからという理由で、Monsterという名前にしてみた。
「標準で付属する文字データベースの基本セット」についても同様に、
「Monsterデータベース」などの固有名詞をつけるのがいいと思います。

「超漢字」という名前はなんだかんだいっていい名前です。
なんといっても覚えやすく、一度聞いたら忘れない。忘れようがない。
(もちろん実体を反映していないという欠点がありますが、それは
ネーミングという観点からは欠点になりません。)
これに対抗するとしたらどんな名前がいいだろうと考えてみました。
なんとなく、Sumoというネーミングとテイストが似ているところもあります。

普通名詞であるというのは欠点にはならないと思います。
Cocoa, Aqua, Quartzは、どれもみな普通名詞です。

しかしちょっと日和ってみて特殊名詞にしてみると
2c. 「XEmacs cMonster」「Ruby/cMonster」「libcmonster」
というふうに、cを頭につけてみるとか。こうすれば、これしか検索でひっか
からなくなる。一気に普通っぽい名前になっちゃいましたけど。
なぜcかとういと、もちろんcharacterのcです。cookieじゃないです。

見た目の違いでは、下記のような案もありえます。
2c. 「XEmacs Cmonster」「Ruby/Cmonster」「libcmonster」
たいして違わないですかね。

私としては2cがいいなぁと思ってますが、名前としてはちょっと極端ですかね。

江渡 浩一郎 new! 2003 @ eto.com







More information about the CHISE-ja mailing list