ぱいぱいにっき

Pythonが好きすぎるけれど、今からPerlを好きになりますにっき

YAPC::Tokyo 2019で静的解析の話をしてきました #yapcjapan

こんにちはこんばんわ、トーカナイザの守護霊ことmacopyです。

YAPC::Tokyo 2019に参加してきたので、そのご報告です。

喋ったトークについて

speakerdeck.com

「Perl5の静的解析入門 機械と人間双方の歩み寄りによる平和編 」と題して発表しました。喋ったこととしては

  • 一般的に静的解析とは
  • Perl5における静的解析ソリューション
  • PPRというモジュールの使い方の例
  • 静的解析がしやすいコードを書こう

という感じです。スライド的にはこの後に

ということが書かれています。事前の練習通りのところで終わったので、想定どおりですが、やはり不完全燃焼ですね。静的解析自体がマニアックな課題なのでなぜそれが必要なのか、それをやりたいのかの説明が必要です。でないと聴衆側は置いてけぼりになってしまう。これは僕のどのトークでもそうなんですが、扱うことがマニアックで前提の話が長くなる。

YAPC::OkinawaのWebSocketの話も同じことになったので前半部分をあらかじめスライドとして公開したのですが、それでも当日の反応を見ると観衆を置いていってしまったような印象を受けたので、今回はスライドは2時間前に全部公開しつつ前半しかやらないということにしました。が、それが誠実なのかどうか、、というのは、、、すみませんです。。。

どこかでフルで話すか、もっと深掘りするかなどしたいですね。ここで話してよという方がいれば日本各地どこでも向かいます。

聞いたトークについて

  • 2019年冬のPerl
    • 5.30の開発についての話があったが、盛り込まれるコミットが少なくなり、CPANでも開発者がいなくなっているという話が寂しく思えた。一方Perl6は6.dの仕様が出て盛り上がっているように見えて対照的な印象を受けたが、あとからどっちもどっちではという感じのことを言われてまあなるほどだなと思った
    • 言語コミュニティというのは多かれ少なかれ人が作るものであり、他人が作らなくなったからと言って、自分が作れなくなるというのは違うと思う。Perlの開発者はマイノリティになりつつあるも、使っている人はたくさんいてナレッジはいて活躍する場もまだ残っているので、ここに参入すればブルーオーシャンである。みなさんどうですか

  • Perl to Go
    • 僕もPerl書きつつGoを書いているクチなので、「あ〜わかる〜」という感じでした
    • DB周りは僕も苦しんだのでスライドをじっくり読みたい
    • GoはPerlよりも命名センスが問われる気がする

  • PerlプログラムでPerlプログラムを修正する方法

    • perlbrewの作者であるgugodさんのトーク
    • 僕の直後かつ僕と結構内容が被っていて内心「申し訳ないな...」と思って聞いていた
    • Perl::Criticでreviewdogは、僕のトークの事前調査でやっていたことにひとつなので入れなくてよかったと思った。ちなみにreviewdogがうまく動かなかったので、自前でGitHub PR Review Commentに書くやつが手元にPerlスクリプトとしてある
    • go fmtしかりeslint --fixしかり、コード整形や良くないコードを自動で修正するというのは流行りではあるが、それにPPIを使うのはなるほどなと思った
  • レガシーPerlビルド 〜現代に蘇るPerl[1..5].0とPerl6〜

    • アナグラくんの発表だけれど、完全に面白い
    • 考古学と銘打っているけれど、こういうの僕は大好きです。地元の郷土研究しているおじいさんが本を書いて図書館に寄贈みたいなパターンあるけれど、あれをPerlでやっているみたいな
    • プログラムをビルドすること一つとっても、研究対象になりうることがわかるし、現代ではPerl5を用いて実現していることがPerl5より前には存在しないので、どうしていたのか、鶏卵問題!!!ってなるので面白いですね
  • WebVRで作品を作って展示しよう

    • WebVR実用段階ってなった
    • 僕もWeb技術は好きなので、HTML書くノリでVRがやれるのは良いなと思った
    • 長年つけていた夢日記を流そうというのが面白いし、運用のハックなんかも見れて、意外に実用的〜となった
    • Oculus Go買っちゃうかQuestまで待つか迷っている日々です
  • ISUCON8予選問題作成の裏側

    • 僕も決勝問題作成の裏側にいたので苦労が忍ばれます
    • 過去のISUCONのアンサーというのがコンテキストがあっていいなと思った。若干ウェットだし、嫌われる人には嫌われるかもしれないけれど、隠し味として歴史を使うのは良いと思うんですよ
    • 解ける問題にする と 解き方はいろいろあるようにする というのが結構相反する性質を持っていて、当日は解ける問題だよね、大丈夫だよね!?ってなるし、実際決勝はそんなことが話されていたりしました。しかし決勝で優勝した解かれ方は想定と違うアプローチだし、エンジニアリングって楽しいなってなる
  • 多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと

    • Songmuさん本当に良かった...
    • こういうエモトーククリティカルヒットする瞬間ってあると思うし、エモトークやって最大限効果を発揮するコンディションってあると思うけれど、それが今回だったのかもしれないなあと思う
    • エモは共感呼んでなんぼで僕は大いに共感を得ました
  • LT

    • npmはCPANクライアントっていう話が面白くて、社内のHTML5チャンネルでシェアしたら、弊社でUnityで似たようなことやっている人がいた
    • xtetsujiさんのPerl入学式のLTも和やかな感じがあり良かった。ちなみに懇親会後の2次会はPerl入学式の方々と朝まで語ってました
    • 門松さんもPerl入学式からの方ですが、自走する人を見つけるというのは興味深いアプローチだなと思った。最近の僕はいかに自走するように仕向けるかを考えている....
  • tokuhiromさんのキーノート

    • Okinawaのyappoさんに引き続き、どのようにコミュニティとやってきたかという話だった
    • 意識的にやっていったわけではないかもしれないが、コミュニティはやはり人が作るものであって天から降ってくるものではないなと思った。コミュニティ作りやっていくぞと決意した

そんな感じで、様々なトークに様々な示唆を得て大変価値のある時間でした。

次は未定とのことですが、次も是非参加したいですね。よろしくおねがいします