Feature #21616
open
date ライブラリを deprecated させたい
Added by jinroq (Jinroq SAITOH) 4 days ago.
Updated 1 day ago.
Description
date ライブラリが長期間メンテナンスされておらず、機能を time ライブラリに委譲して deprecated させたい
というお話が出ていると風の噂で耳にしましたが、どこまでを考えられているのかご意見をお聞きしたいです。
確認事項¶
Date._parse
を time に移植したい¶
Time._parse
なるものが実現できれば十分でしょうか?(それっぽく移植はしてみました。)
Date.strptime
を time に移植したい¶
date_strptime.c をそのまま time に移植していいものでしょうか?
「time に移植するならついでにこんな感じだと嬉しい」といった要望があったりするのでしょうか?
deprecated させた場合の影響範囲¶
deprecated はかなりのインパクトであり、様々な gem やプロダクトに影響を及ぼすかと思います。
例えば「Ruby on Rails では誰に相談すべきか」など、どこまでを考慮すべきでしょうか?
jinroq (Jinroq SAITOH) wrote:
Date._parse
を time に移植したい¶
Time._parse
なるものが実現できれば十分でしょうか?(それっぽく移植はしてみました。)
むしろ、あまりにもheuristicすぎるTime.parse
こそが廃止したい筆頭ですね。
また、実装面で言うとCとrubyをfuncallとblockで繰り返し行き来するというのも、少なくともVM化した1.9以降では有利とは言えません。
Date.strptime
を time に移植したい¶
date_strptime.c をそのまま time に移植していいものでしょうか?
「time に移植するならついでにこんな感じだと嬉しい」といった要望があったりするのでしょうか?
しばらく前から考えているのが、基準になる時刻はどうせ必要なので、クラスメソッドではなくインスタンスメソッドのほうがいいのではということです。
こんな感じ。
basetime = Time.now
basetime.parse(time_string, format: ["%FT%T%Z", "%F %T %Z", "%+"])
ただ、可能なformat
を全部渡すという形だと、省略を許すという記法がないと使いづらいかもという懸念はあります。
deprecated させた場合の影響範囲¶
deprecated はかなりのインパクトであり、様々な gem やプロダクトに影響を及ぼすかと思います。
例えば「Ruby on Rails では誰に相談すべきか」など、どこまでを考慮すべきでしょうか?
影響範囲などが読めないというのも、なかなか手が進まない理由にあります。
nobu (Nobuyoshi Nakada) wrote in #note-1:
回答ありがとうございます。
jinroq (Jinroq SAITOH) wrote:
Date._parse
を time に移植したい¶
Time._parse
なるものが実現できれば十分でしょうか?(それっぽく移植はしてみました。)
むしろ、あまりにもheuristicすぎるTime.parse
こそが廃止したい筆頭ですね。
また、実装面で言うとCとrubyをfuncallとblockで繰り返し行き来するというのも、少なくともVM化した1.9以降では有利とは言えません。
2011 年頃に書かれたコードをそのまま使っていますので時期的に 1.9.3 頃のものですね…。
(Time._parse を採用するかどうかは置いておいて)無理に C で書かずとも pure ruby で書き直した方が良かったりしますかね。
Date.strptime
を time に移植したい¶
date_strptime.c をそのまま time に移植していいものでしょうか?
「time に移植するならついでにこんな感じだと嬉しい」といった要望があったりするのでしょうか?
しばらく前から考えているのが、基準になる時刻はどうせ必要なので、クラスメソッドではなくインスタンスメソッドのほうがいいのではということです。
こんな感じ。
basetime = Time.now
basetime.parse(time_string, format: ["%FT%T%Z", "%F %T %Z", "%+"])
ただ、可能なformat
を全部渡すという形だと、省略を許すという記法がないと使いづらいかもという懸念はあります。
参考になります。ありがとうございます。
deprecated させた場合の影響範囲¶
deprecated はかなりのインパクトであり、様々な gem やプロダクトに影響を及ぼすかと思います。
例えば「Ruby on Rails では誰に相談すべきか」など、どこまでを考慮すべきでしょうか?
影響範囲などが読めないというのも、なかなか手が進まない理由にあります。
そうですよね…。
Also available in: Atom
PDF
Like0
Like1Like0