パスワードを忘れた? アカウント作成
12536201 journal
Ruby

shitamoの日記: Ruby 3.0 3

日記 by shitamo

■ [Ruby] Ruby 3.0 の特大の非互換について…どれくらいの影響が出るのか判らないけど、あんまりひどいなら他の言語に移られるだけなんじゃなかろうか。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2015年10月05日 8時59分 (#2894018)

    Rubyが非互換パネェのは、今更取り立てて言うまでもないでしょ。
    1.4~1.6あたりの頃は、あちこちにRuby最強伝説を喧伝する腐れRubyistが湧いていたけどさ。
    1.8~2.0の非互換の嵐の前に、その手合いは全て死滅した。
    ゆえに今でもいるような連中は、生粋のマゾRubyistとRails依存者だけ。
    つまりマゾ君の方は放置して、Rails側に振って非互換作っとけば全て無問題。
    そのうち「Ruby? ああRailsのことね。」って感じな、今のHipHop VM的ポジションに落ち着くんじゃね?
    Rubyが汎用だったことなんて皆すぐに忘れて、Rails VMという新しい認識に移行するさ。

    そもそも今回の件は自業自得だろ。
    Rails使いはEnterprise Editionの方のRuby使ってたのに。
    それを良く思わないMatz率いる本家Rubyの連中が、大々的に1.8.7切り捨て宣言。
    結果Enterprise Editionは1.9以降への移行が間に合わずRuby EEオワコン宣言。
    で、めでたくEnterprise Edition使いのRails勢も本家に合流。
    しかしRails使いの方が数多いんだから、本家がEnterprise Edition化するのは必然。
    つまり、こうなるのは必然であり自業自得。

    俺も昔はRubyistだったけど、ほんのちょっとしたスクリプトすら、すぐに動かなくなるからもう止めたわ。
    例えば、ぽすぐれからデータひっぱってきて、あれこれやって出力するスクリプト書くとするだろ。
    昔はRuby DBI使って、その先っちょにruby-postgresかpostgres-rubyのどちらかを利用してたわけだ。
    ところがruby-postgresとpostgres-rubyがバージョンのRuby本体やDBIとのバージョン兼ね合いで良くコケた。
    そしてruby-postgresの0.14だったかな、バイナリオンリーで作れる最後のバージョン。
    どこもあれと、それが動くDBIバージョンだけ採用するようになった。
    と思ったら、いきなりDBIがオワコン化して、「これからはRuby RDBIの時代です」となった。んで色々書き直し。
    そこから更に、「時代はSequel」となったあたりで俺は投げたね。

    ニワカなんぞruby-postgres/postgres-ruby時代の苦労すら知らず、後続のruby Pgの非互換の酷さで盛り上がってるもんな。
    Rubyの非互換は、他所の言語の非互換とはまるで違うんだよ。
    メンテナが呆れて匙を投げるレベルだもの。
    今回の件で一体どれほどのメンテナが消えるか見物だわ。

  • by Anonymous Coward on 2015年10月05日 10時23分 (#2894044)

    もし移る人がいたらどこへ移っていくんだろう。
    互換性を切らないおかげでいろいろな書き方ができてしまうPerlか。
    一度互換性を切る大きい変更をしているPythonか。
    スクリプトを書くのに使うかは知らないけどWebでポピュラーなPHPか。
    後発のNode.jsはECMAScript仕様に沿ってるなら互換性切りとか簡単には発生しなさそう、
    でも非同期ゴリゴリなのはWebではありだけどスクリプトではどうなんだろう。

    この中で私はPythonしか使ってないけど、2系で書いていたライブラリを同時に3系でも動くように書き直した。
    そう難しくもなかったがやっぱり手間なので、大量のスクリプトを書き換えとかはやりたくない。
    2から3へ書き直すライブラリが付属していたが、初期に使った時点では使い物にならないと感じた。

    • by Anonymous Coward

      リンク先、リフレクションがそんなに好きなら文字列もmutableにするインターフェースに自分ですればいいのに

typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...