YAPC::Hiroshima に参加した

kt3k

X のタイムラインで YAPC::Hiroshima が流行っていたので、なんとなくで登録して YAPC に初参加した。

せっかくなので家族を連れて広島旅行も兼ねて、4泊5日広島に滞在した。(当初は2泊3日の予定だったけど、裏のメインイベントのマツダミュージアムが完全予約制で金土日はもう予約いっぱいで取れないことが分かり、一番近いところで木曜の朝9時にマツダ本社に集合しなければならず、そのためには水曜に広島入りする必要があったため、4泊5日になってしまった)

YAPC の前に Hono meetup でマコピーさんという人と同じテーブルになって、Perl の最近の話などを色々教えてもらった。最近の Perl は try catch、function signature、class などが入っていて、自分の知っている Perl とは違う何かになっているということを知った。

前夜祭

前夜祭1本目でゆーすけベーさんから Hono v4 が発表された。この発表中だけ YAPC じゃなくて、自分のよく行く JS 系勉強会に来ているみたいな安心感があった。Hono v4 では SSG、Islands、File-based Routing などが入って来て、一言で言うと Next.js のレイヤー(いわゆるメタフレームワーク)をやりますということのようだった。Runtime 中立なメタフレームワークというのはよく考えると今まで無かったような気がするので、この進化はかなり面白いものかもしれない。

当日

当日1本目は、YAPC の中で唯一 Perl を普通の意味で追っていそうな「2024年冬のPerl」というトークを聞いた。普通の意味での Perl の最新情報をかなりの密度で聴くことが出来た。いろんな言語的な進化をしているという事が理解できたけれど、よくよく聞いているとどの機能も、他の言語によくある機能を入れようという話がほとんど全てで、例えば文字列テンプレートqtは JS の template literal ぽかったり、条件付き矢印演算子 ?-> は JS の optional chaining ぽかったり、言ってしまうと JS に入った「良い」機能を Perl にも入れるという方向に Perl は向かっているのかなという印象を受けた。

他は awk で Web アプリケーションを作るということをやっているトークが Geek ぽくて面白かった。gawk (GNU の awk 実装) は TCP/IP 通信をするための特殊変数を用意していてその変数とやり取りすることで、HTTP を awk の中で自前で喋る事が出来るのでそれで Web アプリを作れるぞ、という話だった。Perl ですらなく、awk なんだけど、このトークを採択している YAPC の懐の広さを感じた気がした。こういうめちゃくちゃマイナーで何の役にも立たないトークと、一方で普通にトレンドなツールを使いこなすみたいなトークもあったりと、スピーカーの向いてる方向性のバリエーションが豊かで、色々な世界を見れる・思い出せるところは他のカンファレンスでは味わえない感覚だなと思った。

午後からは厳島ルームの左端の2列目ぐらいに陣取ってずっとトークを聞いていた。

t_wada さんのトークを久しぶりに聞いて、テストダブルはテストサイズを下げるためのツールとして考えると良いという tips が非常にしっくり来た。自分が最後に t_wada さんのトークを聞いた時は、ロンドン学派デトロイト学派という区別はされていて、どちらにもメリット・デメリットがあるという観察で終わっていて、テストダブル導入をどう考えるべきかという観点は述べられていなかったように思ったので、今回のトークを聞いて、何のためにモックするのかがかなり明確になったように思った。それと、テスティングピラミッド、テスティングトロフィーといった一見整合性がないように見える複数の用語が乱立していることに対する見解などもとても参考になった。

トークを聴きつつ、カヤック社提供のコードゴルフ (https://perlbatross.kayac.com/) を結構やっていた。Hole 1 で一瞬1位になって、その後 akiym さんという人に追い抜かれて、追い抜かして、また追い抜かれて、というのを3回ぐらい繰り返していて、じわじわ Perl の syntax 知識が増えていくのが結構楽しかった(最終的に akiym さんが -89 というスコアを叩き出して全く歯が立たなかった)。なお、途中であるユーザーが全部の問題を 21 バイトで解ける何らかの脆弱性をついた(であろう)解答を発見して、競技としてのコードゴルフは崩壊してしまった(こういうトラブル的な事も含めて祭りっぽくて楽しかった)。

途中休み時間中に、1人でポツンとしていたとほほさんに声をかけて、少し話をした。最近の入門記事は娘さんが書くこともあるんですか? と聞いたら、娘さんは間違いを指摘する程度で、記事一本書くような形の関わり方はしていないという事を教えてもらった。ついでに Deno っていう便利なランタイムがあるんですよーというアピールをしてみたら Deno 自体はすでに知っているようで、最近は Next.js、Angular、Vue なんかも書いていて、JS には力を入れているということらしく「リストに入れておきます」という返事をもらう事が出来た。

キーノートのとほほさんのトークでは、とほほさんのこれまでやって来たことの紹介が色々されていてとても面白かった。社会人になって最初にやった仕事が何らかのUNIXシステム上に TCP/IP スタックを実装することで、そのタスクのために仮想 OS 的なレイヤーを1つ導入したエピソードなどを披露されていて、思ったより深いエンジニアリングっぽい話がたくさんあって面白かった。トーク後の質問で「なぜここまで続けられるのか」という質問に対して「好きだからという以外の理由はない」という答えをしていて、梅原大吾がなぜプロゲーマーを続けられるのかと質問された時の回答と全く同じで感銘を受けた。

感想

Perl 自体に興味が向かっているトークは2, 3しかないにも関わらずここまで盛り上がっていること自体がなかなか興味深いイベントだなと思った。Perl に関係ない話がむしろ普通になっている分、トークの内容のバリエーションが豊かで、仕事の役に立ちそうな話、役に立たなそうな話、トレンドに乗った話、トレンドと関係ない自由すぎる話など、全然毛色の違うトークが織り混ざっていて、普通に聞いていて飽きないなと思った。