RubyKaigi 2025: RubyKaigi初参加で出会った、使われ作られるRuby

はじめまして、都内の大学でコンピュータサイエンスを専攻している小野です。インターネット上ではゆう猫(@yuneko1127)と名乗っています。RubyKaigi 2025には、株式会社エス・エム・エスから学生支援を受けて参加しました。この記事では、RubyKaigiに学生が初めて参加した経験やRubyKaigi 2025の面白かったセッションなどについて紹介します。

rubykaigi.org

参加の経緯

自分は専攻として情報科学を学習しているものの、専門はコンピュータビジョンとヒューマンコンピュータインタラクションで、プログラミング言語処理やRubyに特に詳しいというわけでもなく、RubyKaigiにはひょんな理由から参加することになりました。

自分のプログラミングは高校生のときにTechnovation Girlsというアプリ開発コンテストに参加したことから、本格的に始まりました。コンテスト後もプログラミングやコンピュータのことを勉強するのが好きで、気付いたら情報科学科に進学していました。大学進学を機に、Technovation Girlsへ日本から参加する学生を支援しているNPO法人Waffleで運営インターンを始めました。そのSlackでWeb開発の勉強をしたいと呟いたら、カリキュラム・マネージャーをやっている鳥井さん(@yotii23)からRailsなら教えられるよと言われ、RailsからRubyを触ることになりました。その勉強会をやる中で、鳥井さんからRubyKaigiの学生支援があるから是非とおすすめされ、参加しました。

自分はRubyがネイティブ言語というわけでも、Rubyでプロダクトコードを書いているわけでもないですが、Rubyistに誘われ、RubyKaigiに参加しました。

参加の前に

RubyKaigiに参加できると決まってから、楽しみだなという気持ちと共に、自分が行って大丈夫なのだろうか、場違いなのではないだろうかという不安に襲われました。結論を言ってしまえば、これは杞憂だったのですが、これを杞憂にするためにやったことが少しだけあります。

一つ目は、スケジュールを見て(翻訳も見て)何個かこれは見て面白いだろうし、分かりそうだなというものを決めておくことです。自分は、Rubyの細かい仕様はわからないけど、オートマトンや正規表現など情報科学の学問的な話やメディア系の情報処理(今回話題の音を出す系)の話は分かるので、そのようなものを積極的に見るようにしていました。

二つ目は、過去のRubyKaigiを流し見することです。実際に過去のセッションを見てみると自分がどのくらいわからないのかの検討ができるようになり、ついでに知識もつきます。また、去年あの話をしていた人だ!と一方的に知っている人が増えます。自分は、RubyKaigiの荷物をまとめているときに、RubyKaigi 2024の@tompngさんのKeynoteを見て、今回のTRICKを心から楽しみにしていました。

www.youtube.com

面白かったセッションの話

ここからは、たくさんあるセッションの中で個人的に感動した、面白かったセッションの話を少しだけしたいと思います。

Make Parsers Compatible Using Automata Learning

Day1のKeynote後のMain Roomのセッションです。Rubyには2種類のParserが実装されていて、それぞれの互換性を確認する方法が問題になっています。たくさんのプログラムをパースして、その差分を確認するなど量的に確認することもできますが、この発表では、パーサーの一部をオートマトンとして表現することによって、その差分を明らかにします。パーサーをオートマトンの表現に変換することは、オートマトン学習という手法を利用することによって可能になります。実際にパーサーの一部をオートマトン学習によってオートマトン表現に変換することによって、パーサー間にある互換性の問題を発見することもできているそうです。

この発表の個人的なぐっと来るポイントは、オートマトン学習などの情報科学のアカデミックな知見が、実際にRubyのパーサーのバグの発見や互換性の維持に利用されているというところです。このようにRubyへ貢献する方法もあるのかと感動しました。ちょうど今学期に受講しているプログラミング言語処理の科目の直前の授業で、正規表現と有限オートマトンの話を聞いていたので、あの知識がここで今まさに使われていると感動していました。

TRICK 2025: Episode I

Day1最後に行われた、見たことがない奇妙なコードをたくさん見ることのできるセッションです。先ほど説明したように、自分はTRICKを非常に楽しみにしていました。それぞれのTRICKに関して何も説明できないですし、会場でもひたすらにこんなことまでできるのか!と驚いていました。興味深いとか役に立ったとかではなく、ただただ驚愕し、興奮するセッションでした。この後、自分も奇妙なコードを書いてみたいと思い、RubyKaigiが終わった後にTRICKの審査員であるmameさんの著作『あなたの知らない超絶技巧プログラミングの世界』をすぐに読み始め、あと残されているのは書くことだけです。

Ruby Committers and the World

CRubyのCommitterがステージに上がり、Rubyについて話し合うセッションです。Rubyの仕様に詳しいわけではないので、内容がよくわかったわけではないですが、Rubyのような巨大なOSSがどのように維持運営されているかの一端を垣間見ることができて非常に興味深かったです。MatzのkeynoteでもあったようにRubyが公開されてから30年経っても、現状維持だけではなく、修正や更新されて、たくさんのコミッターがいることがRubyとそのコミュニティの豊かさを示しているなとしみじみしていました。それと同時に、この話をよくわかりたいと思い、Rubyの使い方だけではなく、Rubyがどのように作られているのかにも興味がわきました。

RubyKaigiはどういうものだったか

RubyKaigiは、単にプログラミング言語Rubyの言語処理に関する会議、といってしまうことのできないような、多種多様で魅力的なカンファレンスでした。セッションだけでなく、After PartyやDrink up、企業ブースや廊下や街中での会話まですべてがRubyKaigiの体験を構成していて、また来たい!と思うような会議でした。 そして、RubyKaigiに参加して、一番喚起された感情はRubyをもっと書きたいという衝動です。自分はプログラミング言語にあまりこだわりがないのですが、Rubyを手に馴染ませて、最初に手に取る言語にしたいと思うようになりました。そしてこのRubyKaigiから、何かしらの形でRubyのコミュニティに関わっていきたい、そして貢献したいと思いました。

松山、ありがとうございました。RubyKaigi 2026、函館でまた会いましょう!

『世界の霧』というアプリで記録されている松山市での移動履歴