shitamoの日記: Ruby 3.0 3
日記 by
shitamo
■ [Ruby] Ruby 3.0 の特大の非互換について…どれくらいの影響が出るのか判らないけど、あんまりひどいなら他の言語に移られるだけなんじゃなかろうか。
■ [Ruby] Ruby 3.0 の特大の非互換について…どれくらいの影響が出るのか判らないけど、あんまりひどいなら他の言語に移られるだけなんじゃなかろうか。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
なにおいまさら(苦笑) (スコア:2, 興味深い)
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の非互換は、他所の言語の非互換とはまるで違うんだよ。
メンテナが呆れて匙を投げるレベルだもの。
今回の件で一体どれほどのメンテナが消えるか見物だわ。
移行先 (スコア:1)
もし移る人がいたらどこへ移っていくんだろう。
互換性を切らないおかげでいろいろな書き方ができてしまうPerlか。
一度互換性を切る大きい変更をしているPythonか。
スクリプトを書くのに使うかは知らないけどWebでポピュラーなPHPか。
後発のNode.jsはECMAScript仕様に沿ってるなら互換性切りとか簡単には発生しなさそう、
でも非同期ゴリゴリなのはWebではありだけどスクリプトではどうなんだろう。
この中で私はPythonしか使ってないけど、2系で書いていたライブラリを同時に3系でも動くように書き直した。
そう難しくもなかったがやっぱり手間なので、大量のスクリプトを書き換えとかはやりたくない。
2から3へ書き直すライブラリが付属していたが、初期に使った時点では使い物にならないと感じた。
Re: (スコア:0)
リンク先、リフレクションがそんなに好きなら文字列もmutableにするインターフェースに自分ですればいいのに