Feature #583

TmpdirとTempfile

Added by yugui (Yuki Sonoda) over 3 years ago. Updated 4 months ago.

[ruby-dev:36448]
Status:Rejected Start date:09/22/2008
Priority:Normal Due date:
Assignee:matz (Yukihiro Matsumoto) % Done:

0%

Category:-
Target version:-

Description

TempfileにTmpfileという別名を付けてTempfileは2.0では廃止する方向で。

History

Updated by knu (Akinori MUSHA) over 3 years ago

tmpdirの方が後にできたわけだし、TmpよりTempの方がいい省略形だと思うんですが、
Tmpdir→Tempdirは考慮外でしょうか。

Updated by shyouhei (Shyouhei Urabe) over 3 years ago

なおPOSIXにあるのはtmpfile()です。
あとUnix系OSでは伝統的に環境変数TMPDIRがあることが多いでしょう。

したがって私としてはTmpfile, Tmpdirのほうが慣習にそった名前であると思います。

Updated by mame (Yusuke Endoh) over 3 years ago

遠藤です。

2008/09/22 19:06 Shyouhei Urabe <redmine@ruby-lang.org>:
> したがって私としてはTmpfile, Tmpdirのほうが慣習にそった名前であると思います。

慣習という話では、ruby ではもう tempfile/tmpdir という慣習があると
思います。

ちなみに Google のヒット数:

tempfile : 1,130,000
tmpfile  :   523,000
tempdir  :   401,000
tmpdir   :   877,000

あとは、他の LL を見た感じ

Perl   : tempfile/tempdir  (File::Temp)
Python : tempfile/tempdir  (module tempfile)
PHP    : tmpfile/tmpdir

ですかね。適当に調べただけなので間違ってたらごめんなさい。

今更名前を変えるほどの理由があるようには思いません。

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

Updated by knu (Akinori MUSHA) over 3 years ago

SUSv3にはtmpfile(3)より新しいmkstemp(3)があって、Tempfileの機能はそちらに倣っています。
…というのは言ってみただけで、そもそも、揃えたい動機は何なのかがわかりません。

tempfileとtmpdirのインターフェースって、TempfileをTmpfileにしたところで

Tmpfile.open { |f| ..fはTmpfileオブジェクト.. }
Dir.mktmpdir { |d| ..dは文字列.. }

でぜんぜん揃いませんよね。なんで互換性を失ってまで名前だけ変えるんですか?

Updated by shyouhei (Shyouhei Urabe) over 3 years ago

ん、当然そこのインターフェースも揃えるんだと思ってましたが。
今のTempfileって正直Delegatorの習作みたいな感じがしてあんまり好きじゃないです。

Updated by knu (Akinori MUSHA) over 3 years ago

インターフェースが好きじゃないから名前を変える?
何が当然なのかさっぱり読み取れないんですが。じゃあこのissueは何なの?

tmpfileというライブラリを作って将来的にtempfileは廃止しようってことなら、
はっきりそう提案してください。

Updated by shyouhei (Shyouhei Urabe) over 3 years ago

なんなんでしょうね。俺に切れられても困りますが(First Post俺じゃないし)。

Updated by shyouhei (Shyouhei Urabe) over 3 years ago

まあそれはそれとして自分の意見を書いておきますね。

1 tempfileとtmpdirは純粋に分かりづらすぎる。require "tmpfile"を書
  いたことは思い出すだけでも片手では数え切れないくらい経験してい
  る。したがって改名に賛成。

2 名前としてtempfileとtmpfileなら、tmpfileのほうが好き。POSIXから
  の慣習に沿っている。

3 現在のtempfileの設計とか実装は好きじゃない。たとえば
  * Tempfile.openにブロックつけて起動したらブロックの最後でunlink
    してほしい。
  * Process.daemonするとゴミファイルが残るのはどうにかしてほしい

4 名前を変えて再出発するなら、せっかくなので上記のような点もふく
  めて再設計するのがいいと思う。

Updated by knu (Akinori MUSHA) over 3 years ago

このissue自体、文脈もなしにいきなり(リリースマネージャから)出てきたので面くらいました。
卜部さんの「当然〜と思ってました」には、このissueの何らかの経緯を共有しているにおいを
感じたんですが、違いましたか。

まあ、提案はいいんですが、オフトピックですよね。
ruby-devでもっと具体的な内容に落として議論した方がいいと思います。

Updated by shyouhei (Shyouhei Urabe) over 3 years ago

そうですね。「当然〜」は誤解をまねく表現でした。ごめんなさい。

Updated by yugui (Yuki Sonoda) over 3 years ago

  • Target version set to 3.0

Updated by shyouhei (Shyouhei Urabe) over 3 years ago

  • Assignee set to nobu (Nobuyoshi Nakada)

Updated by mame (Yusuke Endoh) about 2 years ago

  • Target version set to 3.0

Updated by shyouhei (Shyouhei Urabe) over 1 year ago

  • Status changed from Open to Assigned

Updated by naruse (Yui NARUSE) 7 months ago

  • Project changed from ruby-trunk to 14
  • Target version deleted (3.0)

Updated by naruse (Yui NARUSE) 7 months ago

  • Project changed from 14 to ruby-trunk

Updated by mame (Yusuke Endoh) 4 months ago

  • Status changed from Assigned to Rejected
  • Assignee changed from nobu (Nobuyoshi Nakada) to matz (Yukihiro Matsumoto)
長期間進展がみられないので閉じます。[ruby-core:42391] を参照。 -- Yusuke Endoh <mame@tsg.ne.jp>

Also available in: Atom PDF