
2025/04/16-18に松山市にて開催されたRubyKaigi 2025に参加してきました。
色々あって遅くなってしまったので、思い出しながら書いていきます。
タイミングを逸しすぎてもはや書くのをやめようかと思ったのだけど、構成とメモは会期直後に作ったし、やはり書かないと自分の気が済まないのでしばしお付き合いください。
トーク
Ruby Taught Me About Encoding Under the Hood
Ruby Taught Me About Under the Hood - Speaker Deck
オープニングキーノートでした。いまいずみさんといえば文字コードの話。
「Unicodeはすでに十分枯れている」と勝手に認識していたのですが見事に覆されました。
普段なんの気なしに使ってますが「世界中の文字を単一の方式で符号化する」ってよくよく考えたら凄まじいことです。単純にスコープがでかすぎるし、言葉ごとの事情を踏まえなくてはならないので本質的な複雑さも高い。
ただ、いまいずみさんはすごく楽しそうに喋っていたんですよね。この巨大かつ複雑なドメインに、人生をかけて取り組んでいるんだということがビリビリと伝わってくる体重の乗り方で、こちらも思わず身を乗り出してしまいました。
色んな方が同様の言及をしていますが「生き様」が見える発表だったと思います。
The Evolution of the CRuby Build System
The Evolution of the CRuby Build System - Speaker Deck
おそらく唯一、CRubyのビルドシステムを扱った発表。
これまでビルドシステムに関心を持ったことはなかったので理解が怪しかったのですが、さくらインターネット社主催のドリンクアップで丁寧に教えていただきました。
現状ではconfigureとmakeが密結合していて分離する意味がなくなっているので、いっそのこと一緒にしてしまえ、という逆転の発想には膝を打ちました。
実は3年前のキーノートを聞いて以来ずっと彼のファンだったのでお話できてよかった。当時「wasmバイナリ上でrequire ができるようにファイルシステムを自作した」話をさらっと流していて度肝を抜かれたのがありありと思い出されます。
ちょうど先日のGinza.rbがWASMを扱う回だったので彼の仕事の偉大さを改めて感じたのでした。
Ruby's Line Breaks
Ruby's Line Breaks - Speaker Deck
金子さんの発表。個人的にはベストトークでした。
身近な問いから仮説を立てて背景知識を説明し、lex_state の概念を提示。少し聞き疲れたところで「魔境」イジりでつかみ直して仮説を検証し、自分の仕事につながる話に持って行く。
構成力、トーク力、なにより本人しかできない話であること。登壇するならこうありたいと思える発表でした。
本人とそこまでしっかりお話したことはないのですが、RubyMusicMixinでお会いして「最高だった」と伝えられたのは良かったかな。
You Can Save Lives With End-to-end Encryption in Ruby
ローカルオーガナイザーであり友人でもあるsylph01さんの発表。
トークに人生が乗りまくっているのはしっかりと伝わってきたのだけど、内容にそこまでついていけなかったのが悔しい。この記事を書くにあたってスライドを見返したのですが、やはりRFCと見比べながら腰を据えてやらないといけない雰囲気でした。
TreeKEMは自分の好きな「美しい仕組み」である予感はするので、ハーバー・ボッシュ法やナカモト論文にはじめて触れたときの興奮を思い出すような瞬間が学ぶ過程であるのかもしれない。
断片的な疑問をX(Twitter)に書いたらブログにてアンサーを頂いたのでこの場を借りてお礼します。ありがとうございました。
それでもまだ
- 中間ノードが人に紐付かないなら、存在をどう保証するのか
- グループの決めはどうするのか
- グループの数を抑える仕組みがないと計算量がO(n2)に近づいていかないか
あたりの疑問は残っているので、これは本人と話したほうが良いのかも。
API for docs
soutaroさんの発表。前夜のドリンクアップでご一緒したときに「soutaro station行きました!」と話しかけました。
秘境駅ランキング26位、宗太郎駅に到着
— expa / Shu Oogawara (@expajp) 2024年9月21日
肥薩線にある大畑・真幸・矢岳が長期区間運休中であるため、現在では九州最高の秘境駅です pic.twitter.com/D5X1Z4MkwU
型に関しては「名付けと設計でどうにかなるのでは?」という割と過激派な意見を持っていました。Railsに毒されすぎているかもしれない。
ただ、お話しするなかで「陳腐化したことを検知できるドキュメントとして偉大なのでは」という考えに変わりました。「それが型ですよ」と苦笑されてしまいましたけどね。昨年、仕事で時間をかけてドキュメント化をやり切った経験が効きました。
発表の方はさらに一歩踏み込んだ話で、IDEやエディタから型情報を参照するためのAPIを作っているとのこと。ドキュメントは「探して見比べる」認知負荷がでかいので、楽しみな話です。
Matz Keynote
「AIのためのプログラミング言語」……ではなく、「AI時代のプログラミング言語」の話。
一番刺さったのは「自然言語よりもAIに合った形式言語が発達するのでは?」という下りでした。
実際、自然言語は音声ベースで発達していて文字は後付なんですよね。間が取れるよう冗長に作られているし、同じ文脈で使う同音異義語は少ない1。語りと記述それぞれに向いた言葉は異なる、という考えには膝を打ちました。
最初に文字で記述したテクストでも、何度も語られると徐々にリズムよく最適化されていきますもんね。平家物語や一部の古典落語が良い例でしょうか。チャットやSNSを日常的に使うようになって忘れているけど、両者の隔たりは実は大きい。
かといって、既存のプログラミング言語に数式ほど自由なセマンティクスを持たせられるかというと、そうでもなさそうです。目的の違いで記述力が足りないし、独自に新しい文法を導入するハードルが高すぎる。人工言語、もしくは独自の自然言語運用法が生まれるかのどちらかです。
というか、AIどうしは独自言語で話し始めるというし2、後者にはすでに「プロンプトエンジニアリング」と名前がついていますね3。
AIの独自言語を人間が体系的に理解できるとは思えないし、そもそも別のモデルが現れたら「独自言語」の中身も変わるんでしょうから、方向性は後者になるんだと思います。
そうやって特殊な方法で自然言語を操る人がプログラマになるかもしれませんね。人間対人間ではそういう職業がすでに存在している4ので、人間対AIでも現れると考えるのが自然です。
発表では「それに適したRubyっていう言語があるんですよ」とMatzが(冗談交じりに)いう下りがありましたが、真面目にRubyの文法は重要な手掛りになりうるのでは?と思いました。
Rubyistの生き様
昨年のIwaoさんの発表を見て、このブログに「RubyKaigiはRubyistの生き様を見られるイベント」と書きました5。
今年は特にその色が強い年でしたね。
文字コードに「出会ってしまった」いまいずみさん。
後半になるにつれ語りがどんどん熱を帯びていったしおいさん。
家族、特にお子さんに対する思いを語っていたわいだーさん。
地元開催にローカルオーガナイザーとしてもスピーカーとしても人間性を捧げていたsylph01さん。
RubyKaigiはRubyistが好きなことを語る場です。そしてスピーカーはその分野に世界トップレベルで詳しい人たち。発表に人間性が乗ってくるのは当然です。彼ら彼女らが捧げてきた時間を考えると、ある意味「生活発表会」でもありますね。
今年は発表以外でも「人間性の発露」が語られることが多かったです。今年のテーマだった。
Ruby Commiter and The World で「コミットコメントには人柄が乗っかっているのでAI生成してほしくない」という発言があったり、Matz KeynoteでAIと人間の関係性について語られたりしていました。
AIに関するトークはほぼなかったけど、みんなAIを意識している。その心理がかえって「人間性」を意識させたのかもしれません。
「ロジックを組む」という言葉に覆い隠されてしまっているけど、どこにゴールを設定してどんなコードを書くかは本人の人間性から出てくるものだと思います。
そんな人たちが登壇して、熱量たっぷりに語っている。そして我々はその恩恵に預かっている。
RubyKaigiは「作っている人の顔が見えるイベント」と言われますが、顔が見えることの意義を強く感じました。
わたしのKaigiEffect
人間性を浴びに浴び、今年も楽しめました。
ただ、逆に肩の力が抜けすぎているような気もしています。
旅行に行ったり、映画を見たり、寄席に行ったり、お酒を飲んだり。
楽しいけど読書量が落ちていることに焦燥感が出てきています。時間をかけてやりたいことに向き合う時間を作るべきだと思いました。
この記事が2ヶ月も遅れてしまったようにプライベートが今とても忙しくそれどころではないのですが、少しずつ時間を見つけて、必ず。
来年の開催地は函館
最近はRubyKaigiの前後に秘境駅に訪問していて6、ついに「今年はどこに行くんですか?」と聞かれるようになりました。
そして来年の開催地は函館。北海道の秘境駅はもう周り終わっている。これは日本一の秘境駅にRubyistを集めるしかないんじゃないか?
koboro.rb 開催するか…… #rubykaigi
— expa / Shu Oogawara (@expajp) 2025年4月18日
ということで、来年はkoboro.rbを開催します。たぶん。僕が岩屋観音に詣でるのに付き合ってください。
人間性の重要性、そしてそれを浴びる楽しさ。コミュニティの力を感じたイベントでした。
来年も行きます。それでは。
- 日本語においては大和言葉がそうです。漢語はたいてい文字の方が先なので「特徴」と「特長」のように同じ文脈で置換してもどちらも意味が通じるケースがある[要出典]↩
- AI同士が使う言語「ギバーリンク」が明らかに! 恐ろしさが伝わってきた… | GetNavi web ゲットナビ↩
- 死んだらしいです:プロンプトエンジニアリングは死んだ(in 2025) #LLM - Qiita↩
- すぐ思いついたのは速記士と同時通訳。それに限らず、外国語や法律、文学の専門家は大抵そうでしょう↩
- https://expajp-tech.hatenablog.com/entry/2024/05/26/161010#Ruby-and-the-World-Record-Pi-Calculation↩
- 今年は坪尻・下灘・串・土佐北川・新改・打井川に訪問しました↩