[Mew-dist 1190] Re: imsort + patch (Re: IM official patch 1)

Shigeya Suzuki shigeya at example.com
1997年 7月 4日 (金) 12:03:50 JST


>>>>> "ksakai" == SAKAI Kiyotaka <ksakai at example.com> writes:

ksakai> その論理はちょっと違うと思います。

ぼくも全くシックリくる反論だとは思ってないんですけれど、極論すればそう
だと思うのです。

ksakai> Mew は使いたい対象のソウトウェアになりますが、Mew をインストールするだ
ksakai> けでいいのか、その作業の前に一段、作業が必要になるかの違いがあります。
ksakai> そういったオーバーヘッドは、インストールする対象によっては意外と無視で
ksakai> きないでしょう。

でも、im* を使うには、perl をインストールしなければいけないですよね?

まぁ、いいかたにもよるかも知れないですが、ターゲットとなるユーザをどこ
におくかで、差が出て来ると思います。

なるべく簡単に使えるようにしたいのは当然の要求だと思いますけれど、それ
にしばられてはいけないとも思います。

だから、Mew をインストールをするぐらいの手間をかけられユーザなのに、な
ぜできないのかな? と思うわけです。そんなに面倒臭いなら RMail つかえば
いいじゃない? とも。

もっと perl の module 使おうよ、という気持もあります。


ksakai> まあ、perl の module のインストールは簡単なので、作業だけなら大した問
ksakai> 題ではありませんが、

今や CPAN moduleもありますから、とても簡単にできます。
# 興味ある方は、perldoc CPAN してみてください。

それで、インストールされていれば使えば良いじゃないか、ないなら無いなり
にすればいいんじゃないのか、と思うのです。

ksakai> ・果たして、使いたい module が IM で必要としている機能を充分に提供して
ksakai>   いるかどうか。充分といえなければ、module の作者と連絡を取りあって、
ksakai>   機能を拡張してもらう必要がある。

これは、perl の community という側面から見るなら重要なことだと思います。
( save the world ;-p )

さらに、re-usability とか modularity ということから考えると、せっかく
用意された枠組から外れて使うのは、世の中のためにならないと思うのです。

ただし、imput のインプリに関して言うのであれば、独自でも良いかなと思い
ます。(普通の人に使わせるのにはハイブローかも…)


ksakai> ・Mew がサポートしている様々な plat home の上で、その module が動作す
ksakai>   るか。特に、Mewは OS2 や Windows95 のサポートを行うが、こういった OS
ksakai>   上でも動作するかどうか。

そのために modoule にしてあるんですけれどねぇ。本来。たとえば、Socket 
なんかは、ポータビリティが低かったので、そこの穴をうめるためののもので
すし。(標準組み込みですが)

正しくかかれたモジュールはポータビリティは、かなり高いと思います。
ちなみに、BSD/OS で GetTime がコンパイルできないのは、timezone の扱い
が変わってしまったからです。


ksakai> ・perl の binary と library を他の環境からコピーしただけの環境では、本
ksakai>   当に module のインストールは容易に行えるのか?

大丈夫でしょう。ただし、「他の環境」が 同一プラットフォームであるとい
う条件つきですが。同一プラットフォームでないと、perl自体が動かないでしょ
うし(あたりまえか)


ksakai> などは、きちんと考えておかなければいけない問題だと思います。

そうおもいます。



ksakai> それは確かにありますが、結局はトレードオフの問題にいきつく思います。

ksakai> 対応方法としては、

ksakai>   1. 非標準の module は利用しない。
ksakai>   2. module に依存したコードを書く。
ksakai>   3. 1 と 2 を option で切り換えられるようにする。

ksakai> の3つ考えられますが、1 だと shigeya さんが書かれているように勿体ないと
ksakai> いう面がありますし、2 だと上で指摘した問題がありますし、3 だと使える方
ksakai> をユーザーが選択すればいいので環境的な問題をかなり排除できますが、コー
ksakai> ディングの手間が 2倍になるという問題があります。

3 でしょうね。ただ、オプションにする必要は無くって、GetDate だったら、
Time::GetDate があるならそれをつかうようにすればよい話しだと思います。
それで、できれば Time::GetDate はインストールしてね、と、ユーザに言う
と。

CPAN を例にとると、

	o Perl::ReadLine があるばあいは、それを使って行編集できるように
	  する(これは便利です)
さらに、
	o LWP (lib-www-perl)が入っている場合は LWP を使ってファイルを取る
	o なければ、Net::FTP を使う
	o それもなければ、lynx を外部プログラムとして起動する

なんて仕掛けになっています。

LWP なんかは、ちゃんと動作確認のテストまでしてくれます。


ksakai> 使いたい module が perl に標準に添付されるようになれば、それを利用する
ksakai> のが万人にとって幸せなのですが。

次第に perl の標準モジュールは増えています。組み込まれるにあたってのポ
リシーは、どれほど広く用いられているか、です。たとえば、5.004 では 
perl が広く CGI で使われているというところから、CGI: が標準になりまし
たが、これは 5.004の開発のかなり後期に、ある人の提案で組み込まれました。

shigeya



Mew-dist メーリングリストの案内