パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

まつもとゆきひろ氏が新言語「Streem」を開発中」記事へのコメント

  • Perlは偉大だなぁ (スコア:5, 参考になる)

    by Anonymous Coward on 2015年01月25日 16時10分 (#2749767)

    古臭いとかなんとかあちこちで叩かれまくってても、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の変更点なんて微々たるものじゃんとか思ってしまう自分がまた恐しい。

    • by naruse (12596) on 2015年01月26日 10時49分 (#2750149) ホームページ 日記

      > しかし非推奨入りして何年も経つメソッドがあったり、かと思えば数ヶ月もしない内に消え去ったり、そんな程度のルールさえmatzの驚き最小の法則適用。

      Rubyって1.9.2以降はだいたい年に1度くらいのリリースペースなんですが、何か別の話ですかね。
      さておき、非推奨なのにずっと残っているのは単に忘れているだけの場合もありますが、
      何か有力なアプリケーションが使っているからというパターンのこともあります。

      >ついこないだまでどんな場合でもスカラ値が帰ってきたメソッドが、ある日突然nilを返すようになったとか余裕。

      Ruby本体は値の型は結構気にしているので、そういう変わり方はあまりないような気がするのですが。
      全体的に見て、Ruby本体とgemをごっちゃにして語っているような印象があります。

      なお、Googleも含め結構な数のユーザーが2.xにとどまっているPythonがうまくやってるとはとても思えませんね。
      手間をかければ移行してくれるというわけでもないのが難しいものではあります。

      親コメント
      • by Anonymous Coward

        (おそらく相応の開発力を持つ)有力なアプリケーションでさえ非推奨機能から脱却できず言語側に対応させてるってこと?
        それつまり、有力じゃない(開発力に劣る)プロジェクトなんぞでは非推奨機能から脱却できるわけもないのに言語側からは容赦なく切り捨てられるってことですよね?
        だめだめですやん。

        パイソンの件は旧版を旧版として割り切ってメンテしてる(移行しなくても支障が少ない)ということではないかと。

        というか個人的には非推奨機能は十分な移行期間を設けてから消滅すべきだと思うので数年程度は残っててもらわないと困りますわ。

        • by Anonymous Coward

          ruby も旧版はメンテされてますが。

          愚痴りたいだけならチラシの裏でどうぞ。

    • by Anonymous Coward on 2015年01月25日 17時09分 (#2749786)

      ruby は登場して,まだ10年しか経ってない.まだバージョンも2.2ぐらい.
      一方,perl は30年近い歴史がある.バージョンは5.20ぐらい.
      全体でみれば,perlでも数々の非互換な仕様変更があったわけで,
      仕様変更の問題点はrubyに限らずperlにもpythonにもある.

      たとえばpythonだと,2系と3系で互換性がなさすぎて,
      結局 redhatとかdebianのようなディストリビューションでは
      2系と3系とが共存する羽目になっている

      偉大だなぁというなら C言語とかLispをあげるべき.
      ANSIやJISで,ちゃんと言語規格が定義・管理されていてる

      親コメント
    • by Anonymous Coward on 2015年01月26日 13時49分 (#2750245)

      本人の日記「そろそろ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でさえ手に負えなくなって新言語作成ですか?なんていうのは的外れでは?

      本人の日記記事は関連リンクに入ってないのか……

      親コメント
    • by Anonymous Coward

      perlは、そもそもperl4の時点でいちど完成してしまってますから。
      当初はマルチバイト対応もなかったですし。
      CPANなしで、標準で添付される範囲しか使わずにいれば、今後もいつまでも使い続けられる。

      しかしJavaもRubyも、随分と標準でいろいろ添付するようになったと思う。
      揉めたくないから名前は挙げないけど、それ標準で必要?というのが色々と。。

    • by Anonymous Coward

      昔Perlで書いていたCGIがteenyがあがっただけで動かなくなったことがあるので、どんな言語でも書き方次第なんじゃないかなぁ。

      #そのときの原因は$.がcloseの影響を受けるように変更されたからでした。

    • by Anonymous Coward

      Pythonが上手くやっただと…?

    • by Anonymous Coward

      ラリー・ウォールだってPerl6という新しい別の言語をつくったじゃんw

      • by Anonymous Coward

        だね。
        別ツリーの論理で行くと、Perl5 は死んだことになる。

        • by Anonymous Coward

          PythonかVBかの話題では出る [srad.jp]のに、こちらの話題ではPascal(とModulaとOberon)について誰も触れないんですね

          Delphiを齧ったどころかちょっと舐めた程度でC++Builderに転び、Modulaに関しては見たこともない、Oberonに至っては今知った程度の私が言うことでもありませんが

    • by Anonymous Coward

      Perlは4から5と@を\しなきゃならなかったことぐらいで、古いスクリプトもほとんど
      そのまま動く安定感。まあJPerl依存したものは別だけれども。
      あと日本語まわり、というか encodingで多少の紆余曲折。5.6~5.8あたり。

      不満といえばencodingまわりが実用側に振っていない(~の問題だとか)で NKFを引っ張りだす必要が
      まだまだあること、ぐらい。

      Rubyも互換性の問題は1.9の壁をこえてからはさほど問題ない。Railsは除くけど。

    • by Anonymous Coward

      Perl6のときのゴタゴタは無かったことになっているのでしょうか。
      Rubyの切り捨てのやり方は、Perlの反省を踏まえたやり方に見えますけれども。

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

処理中...