4 ポイント 投稿者 GN⁺ 2024-12-26 | 2件のコメント | WhatsAppで共有
  • 昨年と同様、12/25 に Ruby 3.4.0 がリリースされました

  • 主な更新内容には、it ブロック引数参照の追加、Prism をデフォルトパーサーとして変更、Socket ライブラリに Happy Eyeballs Version 2 のサポート追加、YJIT の改善、モジュラー GC の追加などがあります。

  • it ブロック引数参照

    • 変数名を使わずにブロック引数を参照できる it が導入されました。これは _1 と同様に動作し、シンプルなブロックで使いやすくなります。
  • Prism をデフォルトパーサーに変更

    • デフォルトパーサーは parse.y から Prism に変更されました。ユーザー側で大きな変更はないはずですが、互換性の問題が発生した場合は報告をお願いします。
  • Socket ライブラリの Happy Eyeballs Version 2

    • Socket ライブラリに Happy Eyeballs Version 2(RFC 8305)のサポートが追加されました。これは、現代のインターネット環境に適した効率的で信頼性の高いネットワーク接続を提供します。
  • YJIT の改善

    • ほとんどのベンチマークでパフォーマンスが向上し、メモリ使用量が減少し、さまざまなバグ修正と新機能が追加されました。
  • モジュラー GC

    • 代替ガベージコレクタ (GC) 実装を動的にロードできるモジュラー GC 機能が追加されました。Rust ツールチェーンが必要です。
  • 言語の変更点

    • frozen_string_literal コメントがないファイルの文字列リテラルが変更されると警告が発生します。**nil キーワードスプラッティングのサポートなど、さまざまな変更が含まれます。
  • コアクラスの更新

    • Exception#set_backtraceThread::Backtrace::Location の配列を受け入れるなど、複数のコアクラス更新が含まれます。
  • 標準ライブラリの更新

    • RubyGems、Bundler、JSON、Tempfile など複数の標準ライブラリでパフォーマンス改善と機能追加が行われます。
  • 互換性の問題

    • エラーメッセージとバックトレース表示方法の変更、Hash#inspect レンダリング方式の変更など、互換性に関する変更が含まれます。
  • C API の更新

    • rb_newobj および rb_newobj_of 関数の削除など、C API に関する更新が含まれます。
  • その他の変更

    • 未使用のブロックをメソッドに渡す際に警告が発生するなど、さまざまな変更が含まれます.

2件のコメント

 
GN⁺ 2024-12-26
Hacker Newsのコメント
  • Ruby のパーサー変更への期待が大きい。これまで yacc を使うよう教えられてきたが、Ruby は手作業で書かれたパーサーを使う言語の仲間入りをした。

    • 16k 行の parse.y を 22k 行の prism.c に置き換えるのは大胆な試みだ。
  • Ruby 3.4.1 はすでに旧バージョンだ。

  • この数年、Ruby のパフォーマンスはとくに向上してきた。3.3 以降は --yjit オプションで全アプリを実行していて、差が大きい。

  • Shopify の戦略は YJIT の話と同じ。サービスのリファクタリングが難しければ、Ruby のリファクタリングを進めるという意思表明だ。

  • JIT と GC のレベルでのパフォーマンス改善は、嬉しい追加ポイント。

  • 毎年クリスマスの恒例行事のように Ruby リリースを待っている。

  • 毎年末に Rails アプリを更新しているが、最近は安定性や性能が向上していて更新がしやすくなっている。

  • Ruby チームへ祝福と感謝を捧げる。

  • Rails 8 の話題以来、Ruby を試してみたかったが、インストール手順があまりにも難しくて諦めた。

    • Mac と Windows で Ruby 3.3 をインストールすることが大きなチャレンジだった。
    • Docker でもバージョン調整が必要で、devContainers でも問題があった。
    • インストール後、VSCode や他のエディタで Rails の html.erb ファイルの構文ハイライトが完全に壊れていた。
    • オンラインで解決策を探したが見つからず、結局諦めてしまった。
    • Mac、Windows、Linux を全て試したが、うまくいかず。これを解決してくれる人がいれば、クリスマスプレゼントになるだろう。
 
eajrezz 2024-12-26

> Rails 8のニュースがきっかけで Ruby を試してみたかったのですが、インストール手順があまりにも難しくて断念しました。

macOSでRailsのインストールを簡単にしてくれるスクリプトがあります。
=>
https://rails.new/