Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RubyKaigi 2025 お土産話 / Trip Stories of RubyKaigi...

RubyKaigi 2025 お土産話 / Trip Stories of RubyKaigi 2025

Sendai.rb #42 での発表資料です。
https://sendairb.connpass.com/event/351426/

Avatar for thatblue

thatblue

May 09, 2025
Tweet

More Decks by thatblue

Other Decks in Programming

Transcript

  1. 前置き: RubyKaigiのセッションはどういうものなのか • 「Rubyコミッターかそれに近いレベルのコントリビュート」の成果披露の場 と捉えて貰えればだいたい間違いない • どういうことか、すごく分かりやすいたとえ話が発生していたので共有 ◦ プログラミングの学習を「ハサミやノリなど文房具の使い方を学ぶこと」、 アプリケーションの開発を「文房具を使った工作」と考える

    ⇒RubyKaigiのセッションで発表されている内容は「こんなめっちゃ切れるハサミ作ったんだ けど」とか「強力なノリを作ろうとしたら逆にすぐ剥がれるノリが出来た、これを紙に定着 させたら実はめっちゃ便利じゃね?」みたいな話 ◦ ちなみにTRICKは「セロテープでバラ作って光らせました」っていう感じ
  2. Day1: The Evolution of the CRuby Build System • CRuby(MRI)のビルドシステムの進化について

    💭このセッションは正直話に付いていくので精一杯で「な、なるほど…?」とい うレベルの理解しかしていない(ごめんなさい) スライドに載っているビルドタイムラインとか見ると、いつも無事にRubyのビル ドができることに感謝しなければいけないなぁとつくづく思う
  3. Day1: Ruby's Line Breaks • Rubyの次世代パーサー候補のひとつ、Lramaを開発しているkanekoさんによる トーク • Lramaでパーサーを生成する場合、文法をオートマトンの形に落とし込んでモデリ ングして、文法をDSLで定義していく訳なんですが、その辺の闇というかカオスに

    ついての話…という理解でいいんだろうか(不安) • Rubyの文法における「改行」に焦点を当て、パーサーがRubyのコードをどのよう に解釈しているかをとっかかりにした話 💭Rubyの柔軟性を支える裏ではこんな大変なことが…という気持ちで拝聴していまし た。DSLの形で構文が明瞭に定義できるのは個人的には結構魅力を感じます。
  4. Day2: Dissecting and Reconstructing Ruby Syntactic Structures • こちらもLramaのコミッターであるydahさんによるトーク •

    DSL寄りの話を深堀った感じの内容 • 従来parse.yを使って生成していた構文解析器をBNFによる文法定義とLramaを使う 形へ置き換えることでメンテナンス性が上がったという話…だと理解しました 💭Lramaを使って文法を構造化することによって従来のパーサーの解釈誤り等も見つ かっているとのこと、有識者から悪魔城だの魔境だの色々言われているparse.yに別れを 告げる日も近いのでしょうか。
  5. Day2: MicroRuby: True Microcontroller Ruby • マイコン上で動くRuby(のひとつ)、MicroRubyを作ったお話 • PicoRuby(もともとあるやつ)はPicoRubyコンパイラ+mruby/cのVMで、発表タイ トルにあるMicroRubyはPicoRubyコンパイラ+mrubyのVM

    • mruby/c由来の軽量さを手放す引き換えに、MicroRubyではCRuby並みの組み込み クラスやメソッドを使うことができる ◦ pico(10^-12) < micro(10^-6) 💭マイコンで動くRuby、時々発症する「ガジェット自作したい病」もあるので気に なっているものの、なかなか手が出せてないなーと思いながらマイコン系の発表をいつ も聞いています。いっそラズパイなら普通のRubyが載るんですけども。
  6. Day3: Matz Keynote • AI時代のプログラミングについて。Rubyは案外AIと仲良くなれるのでは?と いうお話 • 実験的機能としてNamespaceを追加したRubyを3.5として出すか、4.0とし て出すか…?(この話はRuby Committers

    and the Worldの方だったかも) ◦ いずれにせよ今年のリリース🎅でexperimentalなNamespaceが入るとのこと 💭柔軟な文法を持ち、DSLも書きやすいらしいRuby(according to 研鑽Rubyプログラミング) は人間 の言葉との橋渡しとしてわりと向いているのでは?という観点が目から鱗でし た。「お膳立てを頑張りすぎて人間がAIにこき使われるのでは」という話題も ちょうどホットなタイミングだったので、Rubyがそういう方向で(も)発展してい くと嬉しいなぁって思います。