収録時間: 40:06 | Download MP3 (24.9MB)
和田裕介さんをゲストに迎えて、Perl プログラミング、フレームワーク、モジュール開発、YAPC などについて話しました。
0:00
miyagawa: ぼくが昔、Shibuya.pmを始めたときも、渋谷のビットバレーとか言われてた、ドットコムバブル時代に始めたっていうのがあったけど、そのときには渋谷にあって、一瞬六本木ヒルズ方面にバーっと分かれたけど、またヒカリエで戻ってきた感じですね。
yusukebe: ぼくはその辺のビットバレーの時代ってあまり知らないので、なんとなく聞いた話で憧れみたいのがあって(笑)。それが今に戻ってきたっていう、なんか面白い感覚ですね。
miyagawa: 日本のPerl使いの世代っていう意味で言うと、tokuhiromとかゆーすけべーとかは、ぼくらからすると第2世代的なイメージがあるんだけど。
yusukebe: そうだと思いますよ。宮川さんとか、オン・ザ・エッヂとかライブドアとか、その辺のベンチャーグループの、日本のITベンチャーの第一線のエンジニアみたいなイメージがあって。自分はそこにかぶってない、その次の世代的な認識はありますね。
miyagawa: ゆーすけべーが最初にオープンソースでやり始めたのも、ぼくのPlaggerとかが初めての感じだもんね。
yusukebe: そうですね。ぼくがPlagger触ったのは父親と会社を立ち上げるかどうかぐらいの、2006年ぐらいだったと思うんですけど、その前に『Blog Hacks』の本、この前の直也さんのPodcastでも話題になりましたけど、あれが個人的に衝撃的だった本でもあり、ノウハウでもあったりとかしますね。
miyagawa: あの本は『Blog Hacks』という名を借りたPerlのクックブック的な感じが大きかったもんね。
yusukebe: そうそう。自分もかなり早い時代から、ハイパー日記システムって……。
miyagawa: あったね(笑)
yusukebe: あれで学生のときに日記を書いていて。ほんとにどうしようもない日記だったんですけど(笑)。Movable Typeの前って……また違う名前がありましたよね。
miyagawa: 前後してBlosxomとか、そういう小型系の日記ブログシステムがぼちぼち出てきて。
yusukebe: ありましたよね。ぼくはMovable Typeのたしか2.0ぐらいからちょっと触りだして。その初期のパスワードが、メロディ……?
miyagawa: Melody/Nelson(笑)懐かしい。
yusukebe: あの頃から使ってて。大学の仲間とか研究室の仲間に「ブログ面白いからインストールしよう!」って言って、インストール大会みたいな感じで。学校のサーバのアカウント・ディレクトリみたいなところがあるので、それでSNSみたいな使い方をしてましたね。
ブログっていうものがそもそも手元にあって、不自由な点もあれば、やれることもあるよねっていうので、『Blog Hacks』を見ると、Perlのコードで短いHackが載って、しかも自分のブログで試せるっていうので、それで徐々にのめり込んだっていう感はありますね。
miyagawa: あれはなかなかいい本でしたよね。
yusukebe: あれは本当にいい本だと思います。
miyagawa: なんか今は絶版になっちゃってて、もうないんだけど。
yusukebe: ぼくも部屋に……どこかに埋まってるはずですね(笑)。
あとPlaggerは、いよいよ本格的にPerlプログラミングするぞっていう状況のときに出てきたので。まずはEntryFullText。
miyagawa: なんだっけ、それって。ああ、RSSに概要しか入ってないやつの本文をスクレイプして取ってくるみたいなやつ。
yusukebe: そうそう。正規表現のマッチのパターンと、キャプチャした文字の処理みたいのをYAMLで書くっていう。今思うと、YAMLに正規表現を書くってなんかすごく面白いと思うんですけど(笑)。
それで正規表現を覚えつつ、だんだんそれをサイトにしたかったりして。昔、DBIC (DBIx::Class) に落としこむようなプラグインがあったので、それを使ってみたりすると、おおーWebサイトってこうやって出来るんだ、ってちょっと違うアプローチでWebサイトの作り方を発見して。そうやっていろいろやっていくうちに、普通にスクラッチから書けるっていうのがわかったみたいな感じだったので、いろいろ本当にきっかけになったのが『Blog Hacks』とPlaggerっていう感じですね。
miyagawa: Plaggerは最初からプラグイン・システムがものすごい、なんでもかんでもプラグインみたいな感じで書いてたから、けっこういろんな人がコントリビュートしやすくて。
あと、そのEntryFullTextっていうのはプラグインなんだけど、プラグイン自体がさらにサブでプラグインを書けるようになっていて。いろんなサイトの、このサイトはこの正規表現、ここのサイトはまた別の正規表現で、っていう正規表現職人みたい人が、Otsuneさんとかね、みんなコミットしまくるみたいな。そういうことやってましたね。
yusukebe: CodeReposにいろいろ上がってるみたいな、そういう時代ですね。
miyagawa: Plagger.orgのドメインも持っていたんだけど、2年ぐらい前に失効しちゃって。今は変なポルノサイトになってますね。
yusukebe: 今は「無料でメル友を作る為のサイトplagger」っていう。
miyagawa: Plaggerでメル友になるぞっていう。
6:50
miyagawa: でもプラグインのシステムを作るとき、Plaggerはうまくいった方だと思うんだけど、ここ最近はDist::Zillaっていう、PerlのCPANモジュールを作るソフトウェアのラッパーみたいのを作ってて。Dist::Zillaも全部プラグインなんですね。で、けっこうプラグイン・システムがよく出来てるんですよ。
たとえば、よく一緒に使うプラグインがあったときに、それをbundleっていうかたちにして、これとこれとこれを組み合わせて、設定も勝手に全部まとめてやってくれるみたいなbundleとか、あとはbundleの中でこれだけは今回無効にしたいっていうやつにフィルターかけたりとか、順番も設定ファイルに書いた順番がちゃんと尊重されたりとかするのがすごくうまくできてるんだけど、やっぱりプラグインですべてをやろうとするときの限界というか、あるプラグインとあるプラグインを一緒に入れると変な動きをしたりとか。
そういうのは全部ソースコードを読まないとわからなくて。なんか懐かしい、これ俺よくやったな、こういう問題は、とか思ったんですよね。
yusukebe: 結局はソースコード読むことになるんですよね。
miyagawa: ある程度なっちゃうね。
yusukebe: Plaggerの場合は、その入口がEntryFullTextだったっていうのが個人的には良かったかなっていう(笑)。あれはあんまりソースコード読まなくても、正規表現合ってるか間違ってるかっていう話なので。
miyagawa: CDTubeっていうのがたぶんそれなんだよね。
yusukebe: そうですね。今は動いてないと思うんですけど、何かPlaggerで面白いことできないかなって友達と話してたら、「オリコンのCDセールスランキングとYouTube使ったら、カウントダウンTVができるんじゃないか」っていう話になって。やってみたら見事にPlaggerだけでやれた部分があるので。
けっこうその当時で面白かったのは、今と全然違って、「これって著作権的にどうなの?」っていう議論に発展していたのが面白かったなと。今だったらべつに、そういうサイトがあってもその話題って出ないと思うんですけど、たとえば「JASRACホイホイだよ」とか、これは本当に黒なのか白なのか、って津田大介さんが取り上げたりとかして。
ぼくの意図としては、あれは結局CDを買う/買わないっていうよりは、むしろ音楽を聴く機会を増やすことによって、よりアーティストに貢献できる、CD買ったりライブに行ったりとかっていう入り口としてのサービスだと思っていたので、そういう意味では全然ありなんじゃないかっていう意味で、著作権がどうだっていうのはべつにどうでもいいかなって思ってますね。
miyagawa: 実際には何か問題になったりはしたの?
yusukebe: それ系で問題になったのって、ぼくもいろいろやってますけど、ほとんどなくて。ちょっとアダルトな、いやけっこうアダルトな画像を自宅サーバでサーブしていたときがあって、そのときはプロバイダから、さすがにやめてくれっていうのは来ましたけど(笑)。でも変な人が出てくるとかっていうのは今のところまったく経験ないですね。
miyagawa: けっこう周りが騒いでるだけで当人はあんまり、みたいなこと多いもんね。
yusukebe: まあ何かあったら事前に言ってくるでしょうし、そういう意味ではリスクはないという感じはしますね。
miyagawa: 昔から自宅サーバとかで走らせてたイメージがあるけど、最近はEC2とか、そういうのになってきてる感じなんですかね。
yusukebe: そうですね。サービスの規模にもよると思うんですけど、たとえばスタートアップでやりたいなっていうときは、さくらVPSでいいでしょ、というノリで。自宅サーバもいくつか残ってますけど、ほとんど移行したりとかしてますね。
miyagawa: けっこう日本だと、光回線引いてると自宅のサーバでもある程度さばけちゃうっていうのもあるよね。
yusukebe: そうなんですよ。ある程度さばけるんですけど、ただ面白いのは、最初にイカれるのはまずルータが限界を迎えるっていう。民生のBUFFALOとかメルコとかだとまず駄目で、YAMAHAのルータも買ったはいいけどそれでも駄目で、みたいな。結局自作するという経過をたどりましたね。
miyagawa: いくつかはまだ自宅で動かしてるのもあるんだ。
yusukebe: 自分のブログはVPSにあって、父親のブログは自宅で動かしてる、とか。
miyagawa: ははは(笑)
yusukebe: 移行面倒くさい、みたいな。でもほとんどはシャットダウンしましたね。電気代かかるので、やっぱり。
miyagawa: そうだよね。熱とかすごそうだし。
12:25
miyagawa: 自分の会社を親父さんとやってるっていう感じだと、仕事はけっこう、場所とかいろいろ自由な感じなんですかね。
yusukebe: ちょっと内情を話すと、父親との仕事と、オモロキっていう会社で『ボケて』っていうサービスの開発をやっていて。今はその『ボケて』の方が8割型占めてる感じですね。
で、それもオフィスがないんですよ。オモロキの会社の所在地が熱海になってて、それは代表が熱海にゆかりがあるのでそうなってるんですけど、そもそもオフィスがないので自宅か喫茶店で仕事をして、打ち合わせはパートナーの会社とかでやらせてもらうっていう感じで。「オフィス」っていう言葉は使ってないですね、まったく。
miyagawa: いわゆるノマドワーカー的な。
yusukebe: そうですね。ノマドエンジニア的な。
miyagawa: 日本もそういう風に使える場所が増えてるんですかね。コワーキング・スペースとか。
yusukebe: だいぶ増えてるみたいですね。ただ、ちょっと所属するっていう感覚になっちゃうかなと思って、あんまり使ってないんですけど。ぼくはルノワールとか上島珈琲とかコメダ珈琲とか、そういうちょっとひん曲がった感じの喫茶店で仕事してますね。
miyagawa: ルノワールは煙草吸う人だったら大丈夫かもしれないね。
yusukebe: そうですね。ぼくが煙草吸うので。でもすごいルノワールがあって、八重洲のルノワールは学習机みたいのがあるんですよ。ブースで、コンセントが目の前にあって、みたいな。これは……仕事しろって言ってるようなものでしょ、みたいなスペースがあって。便利っちゃ便利ですね。でもルノワールは分煙に失敗してる感はありますよね。
miyagawa: あるある。もう一個、ルノワールの系列で……ミヤマ珈琲だっけ。
yusukebe: 渋谷に2店ありますね。
miyagawa: あそこもすごい煙くて。けっこうきついんですよね。
yusukebe: 最近ちょっと改装したような気もしますけどね。
miyagawa: ぼくも日本に住んでたとき、と言ってもすごい前ですけど、六本木ヒルズの、森ビルの上にあるアカデミーヒルズっていう所に入ってて。そこはけっこう高かったけど、月1万円ちょいの会費で電源もネットもずっと使えて。毎日。そこでけっこう作業してましたね。
yusukebe: それって、コワーキング・スペース?
miyagawa: という風に名乗ってはなかったけど、そういうかたちで使ってる人がかなり多かったと思う。最近は青山の方とか、いろんなところにコワーキングのスペースができてるみたいだから。
yusukebe: そうですね。渋谷にもあるとかって話で。
miyagawa: こっちもね、サンフランシスコはものすごいいっぱいそういう場所があるので。ぼくは今、日本の会社で働いてるんだけど、こっちにもオフィスが一応あるんだけど、サンフランシスコにはなくて。ぼくは普段、日本のチームと仕事してるから、あんまりそっちのオフィスっていうのは、通勤が面倒くさいだけなので行ってないんだけど。それで大体、家とか市内のカフェとかコワーキング・スペースで仕事してるんですけどね。
yusukebe: ああ、そうなんですね。オフィスは行かなくてもいいってことですね。
miyagawa: たまに行ってるけど、基本的には行ってなくて。けっこうぼくの住んでる近郊は、夜遅くまでやってるカフェがなくて、ちょっとばかり出歩かないと……まあ出歩くと言ってもバスとかで行ける範囲だからいいんですけどね。
そういうところは、サンフランシスコはコンピュータ出して、電源つないでコーヒー一杯でガーッてやっても誰にも文句言われない感じがあるので。そこはだいぶ雰囲気が違うというか。日本だと、スタバとかでやってるとなんか、ドヤリング族とか言われる感じがあるけど。
yusukebe: 言われますね。あとドトールはノマドカフェじゃない、みたいな。そういう意味わからない定義があったりとか。
miyagawa: ドトールはノマドと言えるレベルじゃない、みたいな。
yusukebe: 何かのエントリーのタイトルがそんな感じでしたね。ただ、みなとみらいのドトールはすごくいいですね。電源完備されていて、分煙に成功している数少ない例で。
miyagawa: 分煙がちゃんとしてるのは重要ですね。でもやっぱり電源の方がけっこう重要で。まあ最近のMacBookのRetinaとかだと、バッテリーだけで4, 5時間もっちゃうから、わりといいんですけど。
yusukebe: ぼくも夏にMacBook Proの普通のを買ったんですけど、それは買ったばっかりではあるので、4時間ぐらいは大体もちますね。逆に、4時間で集中してやって終わらすぞ、みたいな。バッテリー駆動開発みたいなことができたりしますね。
miyagawa: バッテリーとかWifiとかない方が書けるってやつだよね。原稿を書くときとか、ファミレスとか行って、何もないところにすると書けるとか。
18:25
miyagawa: このあいだ、本を出してましたね。
yusukebe: そうですね。Kindleの本を出しました。
miyagawa: これは直也さんが出したのを見て、俺も出すって出したんですか。
yusukebe: そうですね(笑)。元々原稿は溜まってて、体裁だけは整えて、一個のMarkdownにしてあって。今回は本当にラクしようと思って。もう直也さんが出したからっていう強迫観念で、あまり調べずにPandocで一気にePubにして、みたいな感じで出しましたね。でもそうしたら直也さん全然抜けない、みたいな。それはChefにみんな興味があるのか、直也さんのプレゼンスが高いのか。もしくは内容がいいのか、みたいな。
miyagawa: 直也パワーが。でもプログラミング部門では2位ぐらいになったんじゃないですか。
yusukebe: なってますね。今はKindle以外の本も含めて、Perlの分野の書籍としても1位になってて。ただ、そんなに売れてはいないというか、部数的にはそんなにっていう話ですね。KindleだとAmazonに限られちゃうので、やっぱり。
miyagawa: Kindleで出すっていうと、Kindleは端末持ってないからなあっていう人がたまにいるんだけど、べつにiOSでもAndroidでも読めるからね。
yusukebe: そうですね。
miyagawa: でも意外とプログラミングの本だと、PDFで、PCで読みたいっていう人がけっこういるみたいね。
yusukebe: 今回は実験的に、70%のロイヤリティでAmazonが独占的に販売できるっていうやつにしちゃったので。ただDRMはフリーなので、なんかゴニョゴニョすれば何とかなるでしょっていう感じの出版形式ですね。
miyagawa: DRMフリーでも70%大丈夫なんだ。それは一回決めっちゃったら変えられないのかな。
yusukebe: どうなんだろう? 前も話に出てましたけど、一回出すと変えることが怖くなりますね、KDPって。時間がかかるから。
miyagawa: 審査の間とかに、販売されなくなるんじゃないかっていうのとかあるよね。
yusukebe: そうそう。あと今回出版してわかったのは、編集が重要だなっていうことなんですけど。
miyagawa: これは全部書き下ろしってわけではなく?
yusukebe: メルマガに書いていた連載をまとめたかたちですね。だからやっぱり、編集の人がいないとどうしても、とくに抜けというか、足りてないところが多くなっちゃうっていうのがあって。たとえばこれって、初心者用の本なのに、初心者用に書いてます、みたいな前書きがまったくなくて。気づいたら。そういうのがありますね。
miyagawa: 他人の目で見ないとわからないって、けっこうあるもんね。
yusukebe: ありますね。あとはモチベーションとか。出版とか編集の人って、すごく褒めるのが上手じゃないですか。そういうのがないと、やっぱりモチベーションにならないみたいなのがあって。
miyagawa: けっこう編集者の重要なスキルのひとつかもしれないですね。でもこれは、メルマガで書いてたならフィードバックとか多少あったんじゃないですか。
yusukebe: 多少はありますね。でもそんなに購読者も多くないので、それほどでも。ただ、リクエストに応じてこういうの書きます、みたいな内容はけっこうあります。
miyagawa: 書いてるうちに変わってくるっていうこともあるしね。
22:30
miyagawa: この中だと、PerlのWebフレームワークとしてはMojoliciousを使ってる感じだけど、けっこうPerlのフレームワーク事情みたいなものもこの4, 5年でだいぶ変わってきてるっていうのもあるね。
yusukebe: そうですね。
miyagawa: ちょうどぼくとtokuhiromがPlackを作り始めたのが4年ぐらい前なのかな。
yusukebe: 4年弱とかじゃないですかね。
miyagawa: 作り始めたときは、今さらかっていう感もあったけど、わりとサクサクっと1, 2年ぐらいで、みんなバーっと移行しちゃった感じだから。
yusukebe: そうですね。上手に移行したなっていう感じがしますね。宮川さんがけっこうコントロールした感もあるのかな、と端から見たら思うんですけど。
miyagawa: コントロールっていうよりも、前からこういうのがいいって言ってる人はけっこういたんだけど、言ってるだけでやらなかったりとか、あるいは自分の実装だけ作って、あとは他の人これでよろしく、みたいなパターンが多かったんですよね。
ぼくの場合は、スペックも最初からGitHubに上げて、誰でもコミットやプルリクできるようにして、かつCatalystとCGIアプリケーションと、あと2, 3個ぐらい全部自分でbinding書いちゃて。それでCPANとかにもアップしちゃって、これでもう全部動くから、みたいな感じでやっちゃったのがけっこう大きかったかなと。
yusukebe: 大きいですね、それは。
miyagawa: やっぱり実装があって動くようになってると、みんな使うようになるし、使う人がいるとバグが見つかったりとか、問題点がわかるようになって。それがけっこう大きかったかな。
yusukebe: あとは、PSGIに対応するサーバー側も、StarmanとかStarletというのがいい時期に出始めたので、導入としてはすごく入りやすかったですね。
miyagawa: 最初の1年ぐらいは、実装をどのレベルで分けた方がいいとか、どういうサーバ実装があった方がいいとかいうのが結構バラついてたんだけど、1年ぐらいしたらいい感じにいろんな人が書き始めたりして、ちょうど上手く回ってきたっていうのがありますよね。
ただMojoliciousは、PSGIでサポートはしているけど、あんまりお勧めしていない感じなんだよね、じつは。
yusukebe: そうですね。開発のときはmorboっていうサーバを使って、それはPSGIではなくて。Mojolicousネイティブっていうんですかね、そのサーバーで。Hypnotoadっていう、あれはforkするようなサーバを本番で使いましょう、みたいな感じですね。ただベンチとったら、PSGI一回吐き出してからStarmanとかの方が全然早かったので。
miyagawa: MojoliciousはWebSocketとかにも対応してて、それがPSGIだとちょっとむずかしいところがあるんですよね。だから、まあMojolicousの作者のSebastian Riedelっていう元々Catalystとかの作者の人なんだけど、彼はぼくが最初にPSGIを始めたときに、Mojoliciousで同じことをやろうとしていて、PSGIに参加してなかったんだよね。
で、最近になってPSGIのここが問題だよ、とか言ってるんだけど、お前最初から参加してないじゃん(笑)とか言ってる感じだから。まあうまくいったら、PSGI 2.0みたいなのをもう一回作って、今問題だとわかってるところを直していくっていう、たとえばMojolicousで今使われている非同期のAPIとか、そういうのができたらいいなとは思ってるんですけどね。
yusukebe: 基本、非同期とは関係ないことばっかりやってるので、PSGI一回書き出して、PSGIファイルを作っちゃって、それを手元ではPlackupで開発して、本番ではStarman、みたいなことでやってますね。ミドルウェア使えるので、それがいいなっていうのもあります。
miyagawa: たしかにMojoliciousにもミドルウェア的なのはけっこうあるけど、PSGIのミドルウェアだといろんなアプリ、どのサーバでもどのアプリでも使えるっていうのが大きいよね。
yusukebe: そうですね。Mojolicousも、使うとしたらコアだけ、Mojoliciousのディストリビューションの中にあるものだけしか使いたくなくてですね。Mojolicousって、いわゆる俗にいうフルスタックっていう実装ではないですけど、HTTPのリクエストをレスポンス・オブジェクトからすべて自作しているっていう意味ではフルスタックみたいなものだから。
miyagawa: フルスタックだよね。
yusukebe: そういう意味ではフルスタックなので、そこから外れたくはないなと思っていて。なので、あんまり変なプラグインは使わない、みたいな感じではやってますね。
miyagawa: ぼくはMojolicousはよくできたフレームワークだと思うんだけど、初期の頃はすごくAPI互換の変更が激しいってよく聞いたけど、最近はだいぶ落ち着いてると思うし。
yusukebe: ぼくがちゃんと使い始めてからだと、APIまわりで変更があったのは2, 3件あったぐらいですね。
miyagawa: Mojolicousは依存がたぶんないから、まあCartonとか使うのでもいいんだけど、APIが変わったら、変わらないバージョンを使い続ければいいっていうポリシーもありかな、とは思うんだけどね。
yusukebe: ありですね。もしくはMojolicousだけ追ってればいい、という状態にしちゃうのもありだし。
29:25
miyagawa: 昔、PerlCasualとかのきっかけもそうなのかもしれないんだけど、けっこう日本のYAPC::Asiaとかって、モジュール作者の人がすごく幅を利かせているというか、海外のYAPC、ノースアメリカとかヨーロッパとかと、日本のYAPC::Asiaがちょっと違うなって思うのは、そういうモジュールを作ってる人がこういうの作ったからみんなで使おう、とか、自社のこういうの使って運用してます、みたいな話がかなり多くて。
yusukebe: ああ、なるほど。
miyagawa: 海外でももちろんそういう話はあるけど、だいぶ少ない感じがあるなと思ってて。そこがちょっと違う。どっちがいい悪いというのは全然ないんだけど、そういうのを3年ぐらい前のYAPCを見たときに思って。そうするとどうなるかっていうと、日本のYAPC::Asiaで紹介されているソフトとかモジュール・ライブラリとかは日本人が作ったものばっかりになる。当然のことながら。
だから、他のYAPCとYAPC::Asiaだと流行ってるモジュールとかライブラリが、同じ言語なのかって思うぐらい全然違うっていうのがあって。それがけっこう面白いなって思ったんですよね。逆に言うと、日本のYAPCでも、自分が作ったものじゃないものを紹介したりとか、あるいはこういうライブラリを作ってこういう風に簡単にできるぞ、みたいなトークとかもあってもいいんじゃないかって話を、前にブログに書いたんですけどね。
yusukebe: 3年前っていうタイミングだと、ぼくも同じようなことを考えてYAPCが終わってからブログに書いたりしましたけど、たしかにもうちょっとアプリケーション寄りの発表があってもいいなとは思って。まあ、だんだんそういう場所も、PerlCasualのイベントもそうですけど、できてるのかなあとは思いますね。
ただ、たしかに、日本人作者のライブラリが多くなるっていうのは渋谷界隈の話でも出たとおり、けっこう必然的にそうなっちゃってる感じはありますね。
miyagawa: それ自体はべつに、いいことではあるんだけど、たとえばCatalystの話とかはほとんどもう出ないわけで。
yusukebe: 出ないですね(笑)。
miyagawa: 一時期ちょっとあったけど、なかったかのようになっているから。それがまた実際に使われている率とマッチしていればいいんだけど、そうじゃなくて、自分で作って自分で何でもやりたい派の人たちがほとんどのスピーカーになっちゃうと、もちろんそういう人のトークは面白くていいんだけど、そうではないいろんな既存のライブラリとかモジュールを使ってる人もかなりいると思うんだけど、そのソフトウェアの作者は日本人じゃないから、あんまりトークがされない、みたいなアンバランスさがけっこうあるんじゃないかなってちょっと思ってたんですよね。
yusukebe: そもそも、海外製でこれがいいっていうモジュール情報よりも、日本人の作者がブログで発表して、これ使ってよ、という話の方が耳に入りやすいですからね。
miyagawa: 一番大きい理由としては、海外と日本の違いっていうわけではないけど、ここ4, 5年ぐらい主流だったMooseとかそういうので、ヘビースペックにがんがん作っていく派と、そんな重いものは要らなくて、軽くて、依存も少なくて、軽快に使えるものがいい派っていうのがあって。日本人の作者は大体後者なんですよね。
yusukebe: そうなんですよ。ぶっちゃけた話、向こうのマッチョなモジュールは個人的には使いたくないなって思っちゃうので、そういう意味で避けちゃうっていうのもありますね。
miyagawa: でもべつに海外がみんなそうってわけじゃなくて、海外でも軽いのが好きっていうの人もかなりいるし、それは時と場合によればいいと思うんだけど、軽いのだけを使うんだって一回決めちゃうと、けっこう選択肢の幅が絞られちゃうから。
重厚な、いろんな何でもかんでもやってくれるものを使う場面もあってもいいと思うし、そうじゃなくて軽い物をどんどん組み合わせてやりたいんだっていう人もいていいと思うんだけど、日本の場合は後者の方が人気があるように、少なくてもYAPCでは見える。まあ人気はある思うけどね、もちろん。
yusukebe: それはありますね。軽いとか依存が少ないとかっていうのがつねにポジティブに捉えられていて、その逆が、つねにネガティブに捉えられているみたいな感じはありますね。
miyagawa: もちろんそれはある意味では正しくて、やっぱり依存が多いとインストールするのも面倒くさいし、起動が遅いしっていうのはあるけど、依存が多いっていうことはそれだけコードが少ないってことだから。たとえば、さっきも話に出たDist::ZillaのラッパーでぼくはMillaっていうのを作ってて。tokuhiromが互換性のあるMinillaっていうのをほとんど互換がない状態で作ってるんだけど、やっぱりぼくが作っているやつの方が、何でもとりあえず出来るんですよ。
もうDist::Zillaの開発自体5年ぐらいやってるから、大体いろんな問題が解決されていて、ちょっとこれとこれを組み合わせればポっとできるようなものを、もし使わないでやろうと思ったらすごく大変ということがあって。もちろんその大変を乗り越えたところでは、すごく軽快でいいものが出来ると思うんだけど、ちょっと二度手間なところがありますよね。
yusukebe: それはもう本当にユースケースというか、使う場面によりますよね。たとえばAmazonのとあるWebサービスにアクセスしたいんだけど、すぐ試したいっていうときには、べつに内部でMoose使ってようがなんだろうが、CPANのサーチで一発目に引っかかったものを使うとか。そういう使い分けになってきますね。
miyagawa: Perlに限らずなんだけど、たぶんPythonとかRubyとか、ぼくもこの2, 3年ぐらいやってるけど、そういう両方の派閥が大体あって。Railsとか入れたらめっちゃ依存がガーッて入るんだけど、べつにそれに文句を言う人はあまり居ないというか、そういうものだと思っていて。RubyのSinatraっていうフレームワークだったら依存が2個ぐらいしかない、Rackと何とかしかない、とか。そういう両方があってよくて、どっちが良いというものではないかな、とは思うんだよね。
36:50
miyagawa: さっきYAPCの話が出たけど、今年は海外のYAPCに行く予定なんですよね。
yusukebe: そうですね。去年のYAPC::Asiaで賞品をもらったので、6月の頭にあるYAPC::NAに。初海外YAPCですけど、オースティンに行ってきます。
miyagawa: ぼくはまだ決めてないんですけど、North America(YAPC::NA)にはここ5, 6年出てるので、たぶん行くとは思うんですけどね。
yusukebe: じゃあ、ご一緒できますね。
miyagawa: 牧さんからお達しが出てると思うけど、最近は欧米のカンファレンスのレギュレーションというか、けっこう厳しくて。日本とか台湾とかのカンファレンスの雰囲気と……まあ雰囲気自体はほとんど変わらないんだけど、早い話がセクハラとか、スライドとかにエロ画像とか入れたりとか、そういうことに対してけっこうシビアな雰囲気になってきていて。
yusukebe: それは真っ先に牧さんに言われましたね(笑)。だから、その話題はしないです。大丈夫です。
miyagawa: この間も2週間ぐらい前にPythonのPyConっていうのがあって、これはかなり荒れて。ただ、これはけっこう主催者にとっては難しい問題だったというか、キーノートのときの客席で二人の客が下ネタのギャグを言ってて、まあそこまでは普通にあるかもしれないんだけど、それに気づいた前の席にいた女性が、こういうことを話してるやつがいたって写真を撮って、Twitterにアップして。で、その女性のアカウントが炎上して、言った方も炎上して、結局二人とも今の職場から一日でクビになるっていう、かなりどっちにも良くない、後味が悪い終わり方をしちゃったんだけど。
アメリカにかぎらずだけど、けっこうそういうことにセンシティブになってきていて、ぼくとしてはそんなにきつきつになってもあんまり良いことないのにな、って思うんですけどね。かといって、あんまりスライドとかで、女性が入ってきづらい感じのトークをバリバリにするっていうのも良くないと思うし。
yusukebe: そうですね。そういうのは最近では適材適所に、そういう発表をする勉強会みたいのも多少あるので、そういう場で発揮するっていう風にはしてますね。
miyagawa: まあそこら辺を気をつけてもらったらいいと思いますけどね。
yusukebe: はい。
Transcribed by Hiroaki Kadomatsu http://d.hatena.ne.jp/note103