こんにちは!Wantedly でプロジェクトマネージャ兼バックエンドエンジニアをしている鴛海です。
今回は、日本最大の Ruby に関するカンファレンスである RubyKaigi に Wantedly がスポンサードし、Wantedly のエンジニアも参加しています。また、Wantedly はスポンサーブースを設けていて、Twitterをフォローしてくださった方には技術書や開発に役立つ Engineering Handbook をプレゼントしているので参加されている方はぜひお立ち寄りください!
WantedlyはRubyKaigi2022にプラチナプランとして協賛し、技術書と開発に役立つHandbookをブースでプレゼントしています #rubykaigi | Wantedly, Inc.
この記事では 2日目の Matz さんによる Keynote「Contribute to Ruby」を紹介します。
Contribute to Ruby
まずは Ruby に対しての様々な 批判 親切なアドバイスの紹介から始まりました。
- 「スクリプト言語として Ruby は良すぎる」
- 「だれもRubyなんてつかわない。Perl, PHP, Pythonを使う」
- 「キラーアプリがない」
- 「Ruby なんて作らずに Perl に注力したほうが良かった」
- 「Ruby は遅い」
- 「Web の時代は終わった」
- 「Ruby は死んだ」
これらの “アドバイス” にフェアではなく、データを元にした建設的な議論がしたいと Matz さんは感じているようです。
議論すべき本当の価値として最後に “y” のつく 4つの単語を挙げています。
(Wantedly も最後に “y” 付きます!)
- Productivity
- Ruby 自体もそうだが、gem やフレームワークのおかげで生産性が上がっている
- Community
- Ruby を作り始めたのは Matz さんでも、今 Ruby やツールを作っているのはコミュニティ
- 何万もの gem の author たちがコミュニティに価値をもたらしている
- Ruby を使うユーザが価値を作っている
- Joy
- Matz さんは Ruby に関する感謝の言葉を向けられることが一番の喜び
- Matz さんや Ruby Committer を見かけたら「便利だよ!ありがとう!」と声をかけてあげましょう!
- Money
- 単なる趣味で使うだけでなく仕事で使える
- 2020年の Y combinator ソフトウェアスタートアップの統計では全体の 52% もの価値を Ruby によって生み出しているようです ref: https://charliereese.ca/y-combinator-top-50-software-startups/
- 発表内で紹介されていた https://toprubycompanies.info/ では Wantedly は 42位でした
次に貢献の話。Ruby のコミュニティを広げること、Ruby の開発を手伝って欲しいということが語られました。
特に印象に残った話は以下です。
- Publicity(情報発信)
- Ruby を使ったあなたの経験や、自慢したいことをどんどん発信してほしい
- Ruby は今も価値を生み出している言語であることを発信してほしい
- Reporting Bugs / Feature Requests
- 追加される機能の多くはコミュニティからの提案が元になっている
- バグを見つけたら https://bugs.ruby-lang.org/ へ
- Fixing / Implementing
- GitHub からもコントリビュートできます https://github.com/ruby/ruby
- 最初に feature request して採用されてから実装してもらった方がいいよ
- Documentation Update
- エンジニアはドキュメントを書くのがあまり好きではない
- 古い情報が書かれていたりドキュメントがなかったりするので、直してくれると嬉しい
- Triage
- Feature requests をさばくのに手数が足りないと感じる、issue が多すぎる
- Developer Meeting で優先度を付けたり議論中の issue を管理してくれるような人を求めている
- Conferences / Meetups
- 各カンファレンスに Rubyist が参加することで、参加者にインスピレーションを与え、Ruby が活性化する
- https://2022.rubyworld-conf.org/en/
最後に Ruby 3.2 で入る新機能の話。
このような機能が年末にリリースされる Ruby 3.2 に入るようです。
- Ruby on Wasm
- 今日 (9/9) 昨日発表にあった WASI を使った Wasm がリリースされていました!
- Wasm に関する昨日の Keynote のまとめ記事もぜひご覧ください!
RubyKaigi 2022 参加記 #1 - Ruby meets WebAssembly(Day1 Keynote) | Wantedly Engineer Blog
- YJIT on Rust
- メモリアロケーションの改善
- M:N thread
- リリースに間に合わなさそう?
- Rubyで 100K 以上のスレッドを扱う MaNy Project に関する発表のまとめ記事もぜひご覧ください!
RubyKaigi2022 参加記 #5 - Making *MaNy* threads on Ruby (Day 1) | Wantedly, Inc.
- データオブジェクト
- syntax_suggest
コア機能は一度おちついて、Ruby に関わるツールの改善をこれからは注力していきたいとも話していました。具体的には LSP や steep/typeprof が挙げれれていました。
感想
Ruby への "アドバイス" は Rubyist としてもよく見かけますよね。そういう声に踊らされず本当の価値を考えながら言語を作る姿はプロダクト開発と同じだと感じました。また、貢献の話ではコード的なコントリビュートだけでなく Issue のマネジメントを行う人を欲しているという話が意外で印象に残っています。少しでも Ruby コミュニティに恩返しができるように自分たちも動いでいきたいなと思っています。