その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

YAPC::Okinawa 2018 Onnasonに行きつつ喋りました

yapcjapan.org

行ってきて,そして喋りました.
スライドは以下にあります.

speakerdeck.com

Perlコードに別の言語のコードを埋め込んで動かしてしまう技術であるところのInlineモジュールの話です.今回のYAPCのテーマは「万国津梁」とのことだったので「じゃあPerlと他の言語をつなげるInlineモジュールの話でもすればよかろう」と短絡的に題材を選択してしまったわけですが,そのままではなかなか「引っ掛かり」が無い話になってしまったため (出オチみたいな感じになった),色々風呂敷を広げてみました.それはそうとしてnumpyマジで速いですね.それだけ覚えて帰って下さい.
「グルー言語」の部分については碌々調べずにスライドのあるようなことを喋ったわけですが,恐らくこのような点はあるのだろうなと思っています.
かつて言語側で頑張らなければならなかったコンポーネント間の「糊付け」の責務が,HTTPやTCPのような「プロトコル」のレイヤに寄ってきている,あるいは別の見方をするとprotobuf等のIDLやJSONなどのデータ交換のための表現が発達したことによって「言語」のレイヤから更にメタな「表現」のレイヤにコンポーネントを協調させる責務が寄ってきた (寄ってきたというよりも,「表現」がその責務を負えるだけの進化を遂げたと言う方が適切かもしれません) というのがあるのかなと思います.これはいずれか片方にだけ寄っているという意味ではなく,複合的な要因によるものでしょう.もちろんスライドにも書きましたがLLVMのようなコードを変換するような潮流も,パラダイムを変えていった一因だと考えています.
とは言え「グルー言語」というエッセンスが無価値なものになったかと言うとそうではなく,むしろ選択肢が広がったという見方をするのが自然だと思っているところです.
懇親会ではid:nkgt_chkonkさんが,「例えばプリで計算した結果とかをどこかストレージに入れておいて,それをアプリ側で引いてくるっていうシチュエーションでは,ストレージもグルーのひとつだよね」とおっしゃっていて,たしかにそのとおりだなあと思いました.グルーはあまねく遍在している.これ,僕が言ったことになりませんかね?


それはさておき,今回のYAPCも興味深い話がたくさんあり,特に新屋さんのトークid:akiymさんのトークは大変おもしろく聞かせて頂きました.
新屋さんのトークは平易な言葉を用いて構文解析における曖昧性の解説をされていて大変勉強になりました.4年前に知りたかった…… *1.語り口としてもちゃんと笑わせてくる部分を作って確実に聴衆を引き込んでいくさまは流石ですね.
id:akiymさんのトークperlの新しくて便利なモジュール紹介100連発という感じで,常に新しい情報を追うというそのアンテナの高さと,積極的にそれを取り込んでいく姿勢には学ぶべきものが多いと思いました.ところで懇親会で酔っ払ってて訊けなかったんですけど,おもにどこで情報集めてるんですか?


というわけで,今回のYAPCはそんな感じでした.運営の皆さん,お疲れ様でした.
次回は東京に戻ってくるということで楽しみですね!

*1:色々なことが当時あった