[Tokyo-pm] Jcode-1.99.04 released -- Now at openlab.jp

Dan Kogai dankogai @ dan.co.jp
2005年 2月 15日 (火) 11:36:26 PST


弾です。

他ならぬ歌代さんからコメントを頂けるとは。こういう瞬間ですよね、Open Source Project  
に携わっていてよかったと感じる瞬間は。Encodeの時も、Larry Wall  
その人から、(何と日本語で!)ねぎらいの言葉を貰った時にはそれはうれしかったものです。

On Feb 16, 2005, at 03:20, Kazumasa Utashiro wrote:
> かなりどうでもいいことですが、目に止まったので一応…
>
>        Which is more elegant than;
>
>        $iso_2022_jp =  
> &jcode::convert(\$str,'jis',jcode::getcode(\str), "z");
>
> とありますが、入力コードを指定しないでオプションを与えたい時には、
> undef を指示できますし、そうする方が自然です (ただ、陽にドキュメントは
> されていませんね)。

「誇大広告」すみません。

> それと、変換した結果の文字列は関数値としては返ってきません。

おお、そうでした。これは直さなくては。

> さらに細かくて申し訳ありませんが、$ が抜けてますね。& の有無も統一した
> 方がいいかな。って、今ごろ言うなって話ですよね、ごめんなさい。始めて読
> んだので…

という訳で、

   $iso_2022_jp = $str;
   &jcode::convert(\$iso_2022_jp, 'jis', &jcode::getcode(\$str), "z");

という風に該当箇所を変えました。

> 以下蛇足:
>
> ついでなので、今までちゃんと説明したことがなかったかもしれないので書い
> ておきますと、jcode.pl のインタフェースをああいう風にしたのは、
>
>           # converts mailbox to SJIS format
>           my $jconv = new Jcode;
>           $/ = 00;
>           while(<>){
>               print $jconv->set(\$_)->mime_decode->sjis;
>           }
>
> のようなプログラムを書いて欲しくなかったからです (syntax error になるか
> らではありません :)。

私自身、仕事でこういう風なプログラムは書かないし書いてほしくない一方、そうでない時には書く自由を尊重するところが perl の perl  
たるところだと感じています。

Perl script が汚いという「誤解」は、Perl  
には汚く書くことの出来る自由があることの裏返しにも思えます。巨大Webアプリケーションと一行野郎を両方扱えるというのはたまらない魅力です。

> おそらく弾さん自身は、実際にはこういうプログラムは書かないんですよ。で
> も、少くない数のプログラマは、10000行の中に100行だけ日本語を含むファイ
> ルを変換するとしても、こういうプログラムを書いちゃうでしょう。さらに、
> 日本語を含むファイルが10000個のうちの100個だけだったとしても、同じプロ
> グラムで全部のファイルを処理しちゃうかもしれない。桁が1つや2つや3つや4
> つシフトしてもきっと同じ。

私も自著ではこの辺を偉そうなふりをして強調して述べていますが、その一方で「汚いプログラムは、きれいな(モジュール|API|プラグイン|言語)を 
もってしてもきれいにすることは出来ない」と諦観もしています。というより、そこまで道具の提供者が口やかましく言うのは親切を通り越して傲慢なのでは 
ないかと。あくまで刀鍛冶の仕事は切れる刀を鍛えることであって、鞘に安全装置をどれだけ盛り込めるかということではない、と。

#もっとも、プログラムにもPL法が適用、ということになれば話がかわってきたりして。

> その時に、何もしないためだけにデータをコピーするオーバーヘッドを想像す
> るのは耐えられなかった。というのが12年前の考えです。今でも根本的な考え
> 方は変わらないかな。富豪理論には反対していません。むしろ支持しています。

私もCで何か書(く|かかざるを得ない)ときに、struct を pointer  
でなくて丸ごと渡していたりするのを見ると「うげえ」っとなりますね。実際の富豪は金の価値を知っているから富豪になれる、というのは富豪化プログラミ 
ングにも言えることだと思います。どうせ湯水のごとく資源を使うのであれば、確信犯でありたいですよね。

とにもかくにもありがとうございました。

#ただいまEncode 2.10-beta の stress test 中

Dan the Fan of Yours



Tokyo-pm メーリングリストの案内