「Where the tracks go next」を現地で見た。

Kaigi on Rails 2026の初日にDHHがキーノートとして登壇した「Where the tracks go next」の感想です。
この文章は記憶や手元の記録をベースに書いているので一部の表現が間違っているかもしれません。Kaigi on RailsのYouTubeチャンネル登録をしておいて、当日の録画が出たらそっちを見たほうが細かいニュアンスは伝わりやすいかもしれません。
https://www.youtube.com/@kaigionrails

この記事ではキーノート全体を紹介することはせず、自分の中でグッときたところに焦点を当てて書きます。


Rubyの本質は構文だけではなくて文化にある

初手から自分が普段から興味関心を持っているところの話をしてきて、Dave Thomasが2007年に話した「The Island of Ruby」からの地続きの話だ!となって大興奮してしまったな。

DHHは、実行効率や速さに加えて、プログラマーのたのしさを大切にするRubyの文化について話していた。美しさや扱いやすさへのこだわりは、Ruby以外の領域にも持ち込める。その話が、僕が細々とRubyで動く楽器をつくっている活動と重なったのが嬉しかった。

僕は『Clean Agile』の、職業を自分の一部として引き受けるという話が好きだ。僕が「Webアプリケーション開発者です」と名乗るのも、それに近い気持ちからだと思う。RubyKaigiのSpeakersの自己紹介にも「I am a Software Engineer.」を書いていることが多い(最近は楽器をつくったりしているので Maker と名乗ることもあるが)
別に所属を示すことよりもよいとかそういうことではないが、自分が何者であるかを考えたときに、まずは自分がたのしくやっている領域について表明したほうがお得だと思っている。ものづくりはすごく楽しい。


AIへの移行は、Railsが追求してきた省力化の延長にある

DHH曰く、Railsは少ないコードで多くの仕事をできるようにしてきた。たとえば関連付け(belongs_to, has_manyなど)を一行書くだけで、ほかの環境では何十行も必要だった処理を実現できる。その目的は、一人の開発者に大きな力を与えることでした。

DHHは、AIに実装を任せて「自分では書かない」範囲を広げることも、この方向性の延長だと述べていました。

ここに関しても、ここ2年ぐらいの生活をしている中で体感していることとあんまり違わないなと感じる。
以前、画面共有クラブでjuneさんにも話したのだけど、最近はアプリケーションをつくったり、現実世界をちょっと便利にする治具を3Dモデリングしたりしている。これは単純にものづくりという行為が自分にのって楽しすぎるからやっているということでもあるけど、自分でコードを書いたり、CADを操作することはない。
ここ2年の変化によって、手でコードを書く喜びみたいなのは減ってしまった(もしくは無くなってしまった)のかもしれないが、職業としてはソフトウェア開発者であるし、プロフェッショナルな気持ちを持っていきたい。この変化に対して、価値観も変わるだろうし、その中で自分自身も戸惑ったり、憤りを覚えたりすることもあるだろうけど、それは今はそういう時勢なのだとおもう。

振り返ってみるとRubyやRailsを手で書くことと、つくりたいものを形にすることは、僕の中では近いところにあった。最近は、自分の欲しいアプリケーションや3Dモデルをつくりながら、この二つを少し分けて考えるようになっている。手で書く喜びがどう変わったのかは、まだうまく言えない気はする。それでもものづくりの楽しさはこれからも大切にしたいと思った。

変化でいうと、先に挙げたDave Thomasの「The Island of Ruby」の話の中で、「これからRubyというコミュニティにたくさんの人がやってくる、どうやってRubyの道を教えるのか、島国でなくなったRubyへ新しい人々を歓迎する準備をしよう」という趣旨の話をしていた。

僕は当時はRubyを書いていなかったのだけど、まだ全然Rubyがわからないのに初めて参加したRubyKaigi 2011では「アンチボッチランチ」に参加したり、kakutaniさんのThe Gateを聞いて衝撃を受けた。これが自分の中でエポックメイキングなことで、RubyKaigi 2011以降も地域Ruby会議に参加したり、RubyKaigiの運営に関わっていくようになって、新しい人を僕も迎え入れる側となっていった。

特にコロナ禍を経てRubyKaigi 2022(この頃は子供が生まれてRubyKaigiのオーガナイザーではなくなっている)では久しぶりの物理的な開催となって、新しい人(新入社員や新しくRubyを書く仕事に就いた人など)向けに、アンチボッチランチの系譜を継ぐ突発イベントを開催した。

そんで、このときにもっと各社の若手同士を交流させたいという話題になって翌日やってみようという話になったのを覚えている。
(中略)
二日目は若手同士の交流をさせるために最後のトークが終わったあとにスポンサーブースに若手を集めた。全部で25人ぐらい集まったので、5人1組をつくって津駅に行ってこーいというのをやった。観測情報によれば2次会、3次会と続く感じでよかった。参加した若手からも感想をもらって感触よさそうだった。
https://ason.as/articles/2022-09-29-rubykaigi-2022


人間のために作られた抽象化も、見直す対象になる

DHHは、Active Recordのような仕組みについても話していた。これは、人間が少ない記述で意図を表現するために作られて洗練されてきた。しかし、AIは長いSQLや繰り返しの多いコードを書くことを苦労とは感じない。そのため、人間にとっての書きやすさを得る代わりに払っていた実行時のコストを、改めて検討できる、とのこと。

その上で次のような方向性をあげていました。

  • 全体を理解するために必要な知識を減らす。
  • 抽象化や間接参照を減らし、その場で処理を追いやすくする。
  • 重複を避けるための共通化より、直接的な記述を選べるようにする。
  • 共有ライブラリは引き続き使い、何でもゼロから生成し直すことは避ける。

オブジェクト指向設計には、SOLIDと呼ばれる5つの原則がある。
https://ja.wikipedia.org/wiki/SOLID

これに対してDHHは「Less Indirection / Quicker Understanding / Inlined Design」と述べて、スライドではLIQUIDと書いていました。

  • Less Indirection
    • 間接参照を減らす
  • Quicker Understanding
    • 素早く理解できる
  • Inlined Design
    • 処理をその場に展開する設計

これについても同意ができる。特に素早く理解できるというのは大切なことだと思う。昨今「どこで理解を手放すか」という議論を見かけることもあるけど、僕としては、理解はし続けたいと思っている。
変化(コード、設計、振る舞い)に対して、すべてを一度に把握するより、変更のたびに必要な理解を更新していく、という付き合い方を考えている。そして、なにかに固執するよりも柔軟に振る舞いや設計、コードを変えていくことを受容していけるようにはなりたい(いつもそれができるとは限らないからね)
なのでLIQUIDの考えには共感できるし、この話に続いてDHHは以下のようにも述べた。

ソフトウェアの構造を「固まったコンクリート」から「何度でも作り直せる粘土」へと捉えていた。変更が容易になることで、試したり、壊したり、つくりなおす楽しさが広がる、とのこと。

粘土の文脈がスライドからは読み取れなかったのだけど(欧米では一般的な知育玩具?)、変化に対しての受容を高めていくことへの意識を向けていきたい。

ここの部分でハッとした。こういう変化に対してこれまでの経験があるからこそ、自分の考え方まで固めてしまわず、学び直していきたいと思った。

最後にDHHが「我々は再び初心者になる必要がある。幸いその願いは叶えられました。三ヶ月先の未来でさえほとんど予測できない」「その状況を受け入れて再び初心者になることで、これまで培ってきた専門知識の一部を、あえて手放さなければならないこともあるでしょう」というような要旨で締めてキーノートは終わった。僕には、これまで身につけた専門知識の一部を手放すことも含めて、もう一度学び始めようという風に感じ取った。

卜部さんがQuoraで以前に「Rubyにとって決定的に足りないものは何だと思いますか?」というスレッドに対して、

廃れていくプログラミング言語でまず不足するのは初心者、という印象があります。
(中略)
流入を増やすと参加者の質が変わっていくという面はあろうかと思います。でもそれは自然なことで、参加者固定のままでゆるやかに衰退していくよりはずっといい。これからのことを考えるとRubyに足りていないのは、初心者だと思います。
https://jp.quora.com/Ruby%E3%81%AB%E3%81%A8%E3%81%A3%E3%81%A6%E6%B1%BA%E5%AE%9A%E7%9A%84%E3%81%AB%E8%B6%B3%E3%82%8A%E3%81%AA%E3%81%84%E3%82%82%E3%81%AE%E3%81%AF%E4%BD%95%E3%81%A0%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B

と書かれていて、The Island of Rubyでコミュニティに人を迎え入れることとか、初心者が足りていないということがまた新たに自分の中のテーマとしてのぼってきたなと思う。
ただ、新しい人を迎えることと、自分が初心者に戻ることは、別の話である。でも、迎え入れてもらった側から迎える側になった僕にはこの二つがつながって感じられたかなぁ。

今、自分がどうすべきか、2007年(僕にとっては2011年)から地続きな話を受けて気持ちを新たにする素晴らしいキーノートだった。