hnwの日記

PHPカンファレンス2010で発表&パネル発表してきました

9月24日、25日の両日、PHPカンファレンス2010が開催されました。僕は25日のテックデイで、PHPのストリームについて発表してきました。また、最初のPHPを作った開発者であり今もPHPのコアデベロッパーであるRasmusとHipHop for PHPの開発者Scottを招いての発表がありましたが、そのお二人を囲んでのパネルディスカッションに僕も参加しました。

PHPストリーム概説」

PHPのストリーム機能について20分ほどプレゼンをしました。プレゼン資料は以下です。


元々知っていた人、初めて知った人ともにおおむね温かい反応を頂いたように思います。ありがとうございます。


実は、この内容で発表しようと思ったのはid:yandodさんとの会話がきっかけでした。yandodさんによれば、海外のPHPカンファレンスではXdebugPHPUnitのセッションが毎年あったりするそうです。カンファレンス発表は新ネタばかりでなくても、定番のネタがあってもいいじゃないかと言われて、なるほどと思いました。全員にとって新しい内容でなくても、知らない人にとってより価値のある内容のことだってあるはずです。


そんなわけで、あまり発表を見たことがないネタとしてストリームとその周辺知識を紹介してみました。自分でストリームラッパーやストリームフィルタを作る場合はもう少し必要な知識があるのですが、それも少し試せばわかると思います。

PHPの中の人によるパネルディスカッション」

パネルディスカッションは、RasmusからPHPについての話を色々聞きだそうという企画だったと思います。突然Scottに話を振った挙げ句に強引に壇上に上げちゃうというハプニングもありました。僕の質問としては、PHPにはカリスマがいないわけだけど、カリスマがいるような言語であれば入りそうにない関数があるのではないか、決定プロセスに関して改善の余地はないのか、というような話を聞きたかったのですがうまく伝えられなかった部分がありました。


むしろ少し失礼な質問だったような気もしますが、真摯に答えてくれたRasmusは超いい人だと思いますし、Rasmusの考えがわかった気がします。僕は次のように解釈しました。

  • OSSは人に何かを強制するものではない。開発者みんなの好意で成り立っているものであり、他人を誰かの思い通りに動かせるものではない。
  • 誰か一人が良い悪いを判断するのは間違っている。みんなが良いと言った結果を受け入れよう。


カリスマ一人が頑張って美しい世界を維持している(ように見える)言語、Perl*1Rubyの美しさを羨ましいと思っていたんですが、Rasmusは今のやりかたと開発者みんなを信じてるんだって思えて少し感動しました。仕様面で気持ち悪いところを含めて、今までよりPHPのことを好きになれた気がします。


あと、質問中でarray_reverseの使いどころがわからないという話をしたんですが、array_flipの間違いでした。これのせいもあって話を混乱させてしまった気がしますが、いい話が聞けたのでよかったことにします。


それにしてもパネルセッションって難しいですね。色々と予定通りにはいかないし、あまり突っ込んだ話はできないし(突っ込んだ話をするには解説が必要なため)で、モデレータの廣川さんは本当にお疲れ様でした。

ふりかえって

上記以外のセッションも非常に充実したものでした。特に徳丸さんのプレゼン「文字コードに起因する脆弱性とその対策」は本来1時間は必要なのを40分に圧縮したような贅沢な内容でしたが、誰にとっても得るところがあった内容のように思います。プレゼン内で登場した、PHP5.3.3からU+00A5をUTF-8からCP932に変換した際の結果が変わっているという件については、id:ganawareが作成した言語ごとのCP932への変換表の中でPHPだけ異なっている点をid:moriyoshiさんに伝えて修正されたものです。これは徳丸さんもおっしゃっていた通り、本来的に正しい変換結果になったのですが、その代わりセキュリティ面で気をつけることが増えたということになります。


今年もスタッフの方々の頑張りのおかげで盛り上がったPHPカンファレンスだったと思います。僕にとっても得るものが多い集まりになりました。本当にありがとうございました。

*1:Rubyの人はそう思わないのかもしれないけど、僕はLarry Wallの作る世界も整合性の意味で美しいと思います