こんにちは hsbt です。RubyKaigi 2024 お疲れ様でした。RubyKaigi 2024 では、毎回のことですが半分以上の時間を廊下ですれ違った Rubyist と「最近どうですか」という会話をしたり、「例の件だけど」「Ruby でこういうことを考えている」というような海外から来た Rubyist と仕事の打ち合わせのようなこともやっていました。
さて、今回は RubyKaigi 2024 でアンドパッドのブースの企画として行っていたアンケートの中から Rubyist が気になるであろう項目についてご紹介します。有効回答数は設問によって異なりますが、いずれも 400 件弱という結果になりました。
RubyKaigi 2024 は参加者が 1300 人前後と聞いているので、この回答結果はおおよそ全体を示す結果と見ても良さそうです。それでは各設問について見ていきましょう。
これまでのRubyKaigi への参加回数
私は RubyKaigi には 2009 年から参加しているので 5 回以上の枠の人間ですが、同じような属性の Rubyist は 17.5% しかおらず、40% 超が 2-4 回の参加、なによりも初参加者も同様に 40% もいるのは結果を見て驚きました。
私は 2022 年の RubyWorld Conference で「Ruby に今後必要なのは初学者」という話をしましたが、初参加の方 = 初学者でなくても、RubyKaigi というイベントに行ってみようという気持ちになった方がこれだけいるのは素晴らしいことと思います。
メインの仕事で使っている Ruby のバージョン
Ruby 3.2 が一番多いかな、と想像していたのですが 3.3 が一番多く、続いて 3.2 という結果でした。Ruby 3.3 は 2024年 4 月にやっと 3.3.1 をリリースすることが出来たというバージョンで、アップグレードの動きは少し遅めなのかなと思いきやいい意味で予想とは異なる結果になりました。なお、アンケートの設問で trunk というのは git の master/main のことです。svn では trunk と呼ぶことが多かったため、アンケートとしてついつい使ってしまいました。
一方で、Ruby 2.x/3.0/3.1 を利用中という方も 30% を超える数字でした。ちょうど Misc #20491: Proposal for new branch maintainers - Ruby master - Ruby Issue Tracking System という提案を経て、私が Ruby 3.1 をメンテナンスすることになったのですが、Ruby 3.1 は例外的にビルド問題を修正したバージョンを近々リリースし、それ以降は従来どおりセキュリティ修正のみのバージョンとなる予定です。そのため 2.x-3.1 を利用中の方は RedHat などの OS ベンダーがサポートを提供する Ruby パッケージへ切り替えるか、3.2 以降のバージョンへのアップグレードを強く推奨します。
メインの仕事で使っている Rails のバージョン
Rails 7.x が 60%、Rails 6.x が 30% という結果でした。こちらは予想通りではありましたが、 Rails 7.0 と 7.1 とで、7.1 では非互換が含まれるという意味でアップグレードに対するハードルはややあるので、設問をもう少し分割すればよかった...と結果を見てから感じました。
ところで Ruby もでしたが、開発バージョンである Edge を使っているというのは Shopify/GitHub 以外のどの企業なのかは気になります。設問が Production で動いている Rails のバージョン、ではなく仕事で使っているというのがポイントなので、Edge で毎日何かを検証しているという企業または個人とは思います。
YJIT の有効状況
すでに有効にしているという回答が 23%、検証中が 11% と、3割程度が YJIT 導入に向けて動いているという結果でした。この結果はクロス集計などはまだ行ってないため、Ruby 3.3 と 3.2 を使ってる人がどれくらい YJIT を使っているか、というあたりは気になります。
これも終わってから「しまったー...」となったのですが「導入」「未導入」それぞれについて簡単に理由などを聞いておくと、 YJIT チームにフィードバックを通して、今後の YJIT の性能や開発者体験を良くするためのインプットになったと後悔してしまいました。残念。
Ruby 3.4 に期待すること
最後に自由回答の設問として「Ruby 3.4」に期待することについて得られた回答の上位10件についてラフに正規化した結果です。
期待すること | 件数 |
---|---|
Performance improvements | 17 |
YJIT | 15 |
Ractor | 6 |
it | 5 |
namespace | 5 |
HEv2 | 5 |
frozen string | 3 |
TypeProf | 2 |
WASM | 2 |
irb | 2 |
パフォーマンス向上と YJIT は同一項目にしても良かったかもしれませんが、Ruby に期待される項目がパフォーマンスとなっていて、実際にそれを毎年達成しているというのが個人的には興味深いです。主に Shopify の YJIT チームをはじめとした Ruby コミッタやコントリビュータの努力の結果でもありますが、ユーザーが期待することと、それに答え続けるというエコシステムが良い形で機能していると感じました。
他にも Ractor, Namespace, HEv2 など RubyKaigi 2024 のセッションで成果として発表されたものがランクインしているなど、Ruby の新しい機能に対する期待も分かる結果でした。
まとめ
このエントリでは RubyKaigi 2024 でアンドパッドのブースで来訪者の皆さんに回答いただいた項目について結果を共有するとともに、フルタイムで Ruby を開発している hsbt の感想を掲載しました。いかがでしたか?
来年の RubyKaigi は愛媛の松山ということで、早速鯛めしの歴史と種類について勉強を始めています。来年も今回のように Rubyist が気になるコンテンツを生み出せるようなブース企画を用意していこうと思うので乞うご期待!
アンドパッドでは松山に向けて、プロポーザルの準備 = 開発の目論見を立てたり、開発を進めたり、松山を調べ始めたり、楽しみにしている Rubyist を大募集しています!興味を持たれた方のカジュアル面談・ポジションへの応募をお待ちしています。