アカウント名:
パスワード:
古臭いとかなんとかあちこちで叩かれまくってても、6年も7年も前に殴り書きしたものが今でも普通に動くもの。最終リリース日が8年前とかいうPerlアプリだって今でも普通に動く奇跡。
一方のRubyと来たら・・・。ついこないだまでどんな場合でもスカラ値が帰ってきたメソッドが、ある日突然nilを返すようになったとか余裕。それすら一時期はemptyだったりboolだったりあれこれ変わりまくった末に。ましてメジャーバージョンやマイナーバージョンが上がったのではなく、teenyがいっこ増えたとかそんな程度で・・・。あるメソッドがある日突然非推奨入りしたかと思えばいきなり消滅。しかし非推奨入りして何年も経つメソッドがあったり、かと思えば数ヶ月もしない内に消え去ったり、そんな程度のルールさえmatzの驚き最小の法則適用。おかげでマイナーバージョンが増分したりしようもんなら、生み出される非互換の山。Rubyでは1年前の殴り書きどころか、3ヶ月前のものだってすんなり動くとは思えない。Rubygemsひとつ取ったって、どこからどこまでのバージョンがどの系統のRubyに適合するものか、何も見ずに言える人なんて重度のRubyistくらいのもんだよ。
それがついに、matzでさえ手に負えなくなって新言語作成ですか?使えば使うほどにRubyが収集つかなくなっていたのは知ってるだろうから、新言語作成自体に反対する気は無いけれど。Rubyの失敗を生かして、毎度毎度非互換の山をこしらえるのはもう止めにしてね。
非互換を作る時はPythonのように上手くやらなきゃダメだよ。Ruby 1.8の切り捨ての時みたいに無理やり切り捨てると、それから先ずっとそんなことしなきゃならなくなる。この後に控えてるRuby 1.9や2.0の切り捨て時に一体どれだけの阿鼻叫喚騒ぎになるか考えるだけでも恐しいよ。
#Rubyの切り捨てのやり方に慣れすぎて、1.9 → 2.0の変更点なんて微々たるものじゃんとか思ってしまう自分がまた恐しい。
> しかし非推奨入りして何年も経つメソッドがあったり、かと思えば数ヶ月もしない内に消え去ったり、そんな程度のルールさえmatzの驚き最小の法則適用。
Rubyって1.9.2以降はだいたい年に1度くらいのリリースペースなんですが、何か別の話ですかね。さておき、非推奨なのにずっと残っているのは単に忘れているだけの場合もありますが、何か有力なアプリケーションが使っているからというパターンのこともあります。
>ついこないだまでどんな場合でもスカラ値が帰ってきたメソッドが、ある日突然nilを返すようになったとか余裕。
Ruby本体は値の型は結構気にしているので、そういう変わり方はあまりないような気がするのですが。全体的に見て、Ruby本体とgemをごっちゃにして語っているような印象があります。
なお、Googleも含め結構な数のユーザーが2.xにとどまっているPythonがうまくやってるとはとても思えませんね。手間をかければ移行してくれるというわけでもないのが難しいものではあります。
(おそらく相応の開発力を持つ)有力なアプリケーションでさえ非推奨機能から脱却できず言語側に対応させてるってこと?それつまり、有力じゃない(開発力に劣る)プロジェクトなんぞでは非推奨機能から脱却できるわけもないのに言語側からは容赦なく切り捨てられるってことですよね?だめだめですやん。
パイソンの件は旧版を旧版として割り切ってメンテしてる(移行しなくても支障が少ない)ということではないかと。
というか個人的には非推奨機能は十分な移行期間を設けてから消滅すべきだと思うので数年程度は残っててもらわないと困りますわ。
ruby も旧版はメンテされてますが。
愚痴りたいだけならチラシの裏でどうぞ。
ruby は登場して,まだ10年しか経ってない.まだバージョンも2.2ぐらい.一方,perl は30年近い歴史がある.バージョンは5.20ぐらい.全体でみれば,perlでも数々の非互換な仕様変更があったわけで,仕様変更の問題点はrubyに限らずperlにもpythonにもある.
たとえばpythonだと,2系と3系で互換性がなさすぎて,結局 redhatとかdebianのようなディストリビューションでは2系と3系とが共存する羽目になっている
偉大だなぁというなら C言語とかLispをあげるべき.ANSIやJISで,ちゃんと言語規格が定義・管理されていてる
wikipediaによるとfjで発表されたのが1995年だそうです。今年は2015年。だから19年ないし20年経過。https://ja.wikipedia.org/wiki/Ruby [wikipedia.org]10年しか経っていないというのは別の方法で誕生年を認識していらっしゃる?
RubyはRuby on Railsで広がった印象が強いのでそれで10年と言っている気がしますね。(別の視点でみるとRoRのコンセプトがポイントであってRuby自体の魅力ではないのかもしれぬ)
多謝。そういう観点であれば10年というのはしごくなっとく。とはいえそれは共感できるという意味ではない(余計な一言)。
偉大だなぁというなら C言語とかLispをあげるべき. ANSIやJISで,ちゃんと言語規格が定義・管理されていてる
JIS X 3012「呼んだ?」
本人の日記「そろそろStreemについてひとこと言っとくか [rubyist.net]」でも触れていますが
もともとは日経Linuxの自作言語入門の連載のネタ時系列的には2015年1月号で言語仕様を決めた(原稿提出は11月中旬)2015年2月号で実装について解説(原稿提出は12月初旬)2月号原稿には「github.com/matz/streemを参照のこと」と書いた提出したその日に1月号発売原稿提出後、原稿で解説した部分を実装し(300行程度)、githubにアップロードだれかが見つけるhackernews, redditなどでバズるgithub issues, pull requestなどいっぱいくる私が実装する前に Go で実装しちゃう人が出る (mattn/streeem)
雑誌の連載用に作った言語に過ぎないのでそれがついに、matzでさえ手に負えなくなって新言語作成ですか?なんていうのは的外れでは?
本人の日記記事は関連リンクに入ってないのか……
perlは、そもそもperl4の時点でいちど完成してしまってますから。当初はマルチバイト対応もなかったですし。CPANなしで、標準で添付される範囲しか使わずにいれば、今後もいつまでも使い続けられる。
しかしJavaもRubyも、随分と標準でいろいろ添付するようになったと思う。揉めたくないから名前は挙げないけど、それ標準で必要?というのが色々と。。
昔Perlで書いていたCGIがteenyがあがっただけで動かなくなったことがあるので、どんな言語でも書き方次第なんじゃないかなぁ。
#そのときの原因は$.がcloseの影響を受けるように変更されたからでした。
Pythonが上手くやっただと…?
ラリー・ウォールだってPerl6という新しい別の言語をつくったじゃんw
だね。別ツリーの論理で行くと、Perl5 は死んだことになる。
PythonかVBかの話題では出る [srad.jp]のに、こちらの話題ではPascal(とModulaとOberon)について誰も触れないんですね
Delphiを齧ったどころかちょっと舐めた程度でC++Builderに転び、Modulaに関しては見たこともない、Oberonに至っては今知った程度の私が言うことでもありませんが
Perlは4から5と@を\しなきゃならなかったことぐらいで、古いスクリプトもほとんどそのまま動く安定感。まあJPerl依存したものは別だけれども。あと日本語まわり、というか encodingで多少の紆余曲折。5.6~5.8あたり。
不満といえばencodingまわりが実用側に振っていない(~の問題だとか)で NKFを引っ張りだす必要がまだまだあること、ぐらい。
Rubyも互換性の問題は1.9の壁をこえてからはさほど問題ない。Railsは除くけど。
Perl6のときのゴタゴタは無かったことになっているのでしょうか。Rubyの切り捨てのやり方は、Perlの反省を踏まえたやり方に見えますけれども。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
開いた括弧は必ず閉じる -- あるプログラマー
Perlは偉大だなぁ (スコア:5, 参考になる)
古臭いとかなんとかあちこちで叩かれまくってても、6年も7年も前に殴り書きしたものが今でも普通に動くもの。
最終リリース日が8年前とかいうPerlアプリだって今でも普通に動く奇跡。
一方のRubyと来たら・・・。
ついこないだまでどんな場合でもスカラ値が帰ってきたメソッドが、ある日突然nilを返すようになったとか余裕。
それすら一時期はemptyだったりboolだったりあれこれ変わりまくった末に。
ましてメジャーバージョンやマイナーバージョンが上がったのではなく、teenyがいっこ増えたとかそんな程度で・・・。
あるメソッドがある日突然非推奨入りしたかと思えばいきなり消滅。
しかし非推奨入りして何年も経つメソッドがあったり、かと思えば数ヶ月もしない内に消え去ったり、そんな程度のルールさえmatzの驚き最小の法則適用。
おかげでマイナーバージョンが増分したりしようもんなら、生み出される非互換の山。
Rubyでは1年前の殴り書きどころか、3ヶ月前のものだってすんなり動くとは思えない。
Rubygemsひとつ取ったって、どこからどこまでのバージョンがどの系統のRubyに適合するものか、何も見ずに言える人なんて重度のRubyistくらいのもんだよ。
それがついに、matzでさえ手に負えなくなって新言語作成ですか?
使えば使うほどにRubyが収集つかなくなっていたのは知ってるだろうから、新言語作成自体に反対する気は無いけれど。
Rubyの失敗を生かして、毎度毎度非互換の山をこしらえるのはもう止めにしてね。
非互換を作る時はPythonのように上手くやらなきゃダメだよ。
Ruby 1.8の切り捨ての時みたいに無理やり切り捨てると、それから先ずっとそんなことしなきゃならなくなる。
この後に控えてるRuby 1.9や2.0の切り捨て時に一体どれだけの阿鼻叫喚騒ぎになるか考えるだけでも恐しいよ。
#Rubyの切り捨てのやり方に慣れすぎて、1.9 → 2.0の変更点なんて微々たるものじゃんとか思ってしまう自分がまた恐しい。
Re:Perlは偉大だなぁ (スコア:4, 参考になる)
> しかし非推奨入りして何年も経つメソッドがあったり、かと思えば数ヶ月もしない内に消え去ったり、そんな程度のルールさえmatzの驚き最小の法則適用。
Rubyって1.9.2以降はだいたい年に1度くらいのリリースペースなんですが、何か別の話ですかね。
さておき、非推奨なのにずっと残っているのは単に忘れているだけの場合もありますが、
何か有力なアプリケーションが使っているからというパターンのこともあります。
>ついこないだまでどんな場合でもスカラ値が帰ってきたメソッドが、ある日突然nilを返すようになったとか余裕。
Ruby本体は値の型は結構気にしているので、そういう変わり方はあまりないような気がするのですが。
全体的に見て、Ruby本体とgemをごっちゃにして語っているような印象があります。
なお、Googleも含め結構な数のユーザーが2.xにとどまっているPythonがうまくやってるとはとても思えませんね。
手間をかければ移行してくれるというわけでもないのが難しいものではあります。
Re: (スコア:0)
(おそらく相応の開発力を持つ)有力なアプリケーションでさえ非推奨機能から脱却できず言語側に対応させてるってこと?
それつまり、有力じゃない(開発力に劣る)プロジェクトなんぞでは非推奨機能から脱却できるわけもないのに言語側からは容赦なく切り捨てられるってことですよね?
だめだめですやん。
パイソンの件は旧版を旧版として割り切ってメンテしてる(移行しなくても支障が少ない)ということではないかと。
というか個人的には非推奨機能は十分な移行期間を設けてから消滅すべきだと思うので数年程度は残っててもらわないと困りますわ。
Re: (スコア:0)
ruby も旧版はメンテされてますが。
愚痴りたいだけならチラシの裏でどうぞ。
Re:Perlは偉大だなぁ (スコア:1)
ruby は登場して,まだ10年しか経ってない.まだバージョンも2.2ぐらい.
一方,perl は30年近い歴史がある.バージョンは5.20ぐらい.
全体でみれば,perlでも数々の非互換な仕様変更があったわけで,
仕様変更の問題点はrubyに限らずperlにもpythonにもある.
たとえばpythonだと,2系と3系で互換性がなさすぎて,
結局 redhatとかdebianのようなディストリビューションでは
2系と3系とが共存する羽目になっている
偉大だなぁというなら C言語とかLispをあげるべき.
ANSIやJISで,ちゃんと言語規格が定義・管理されていてる
Re:Perlは偉大だなぁ (スコア:2)
wikipediaによるとfjで発表されたのが1995年だそうです。今年は2015年。だから19年ないし20年経過。
https://ja.wikipedia.org/wiki/Ruby [wikipedia.org]
10年しか経っていないというのは別の方法で誕生年を認識していらっしゃる?
Re: (スコア:0)
RubyはRuby on Railsで広がった印象が強いのでそれで10年と言っている気がしますね。
(別の視点でみるとRoRのコンセプトがポイントであってRuby自体の魅力ではないのかもしれぬ)
Re:Perlは偉大だなぁ (スコア:1)
多謝。
そういう観点であれば10年というのはしごくなっとく。
とはいえそれは共感できるという意味ではない(余計な一言)。
Re:Perlは偉大だなぁ (スコア:1)
JIS X 3012「呼んだ?」
Re:Perlは偉大だなぁ (スコア:1)
本人の日記「そろそろStreemについてひとこと言っとくか [rubyist.net]」でも触れていますが
雑誌の連載用に作った言語に過ぎないのでそれがついに、matzでさえ手に負えなくなって新言語作成ですか?なんていうのは的外れでは?
本人の日記記事は関連リンクに入ってないのか……
Re: (スコア:0)
perlは、そもそもperl4の時点でいちど完成してしまってますから。
当初はマルチバイト対応もなかったですし。
CPANなしで、標準で添付される範囲しか使わずにいれば、今後もいつまでも使い続けられる。
しかしJavaもRubyも、随分と標準でいろいろ添付するようになったと思う。
揉めたくないから名前は挙げないけど、それ標準で必要?というのが色々と。。
Re: (スコア:0)
昔Perlで書いていたCGIがteenyがあがっただけで動かなくなったことがあるので、どんな言語でも書き方次第なんじゃないかなぁ。
#そのときの原因は$.がcloseの影響を受けるように変更されたからでした。
Re: (スコア:0)
Pythonが上手くやっただと…?
Re: (スコア:0)
ラリー・ウォールだってPerl6という新しい別の言語をつくったじゃんw
Re: (スコア:0)
だね。
別ツリーの論理で行くと、Perl5 は死んだことになる。
Re: (スコア:0)
PythonかVBかの話題では出る [srad.jp]のに、こちらの話題ではPascal(とModulaとOberon)について誰も触れないんですね
Delphiを齧ったどころかちょっと舐めた程度でC++Builderに転び、Modulaに関しては見たこともない、Oberonに至っては今知った程度の私が言うことでもありませんが
Re: (スコア:0)
Perlは4から5と@を\しなきゃならなかったことぐらいで、古いスクリプトもほとんど
そのまま動く安定感。まあJPerl依存したものは別だけれども。
あと日本語まわり、というか encodingで多少の紆余曲折。5.6~5.8あたり。
不満といえばencodingまわりが実用側に振っていない(~の問題だとか)で NKFを引っ張りだす必要が
まだまだあること、ぐらい。
Rubyも互換性の問題は1.9の壁をこえてからはさほど問題ない。Railsは除くけど。
Re: (スコア:0)
Perl6のときのゴタゴタは無かったことになっているのでしょうか。
Rubyの切り捨てのやり方は、Perlの反省を踏まえたやり方に見えますけれども。