PHPカンファレンス2008に参加

ほとんどPHPには触ったことのない似非PHPerですが、パネルディスカッションのパネリストにつられて参加してみました。

PHPカンファレンス2008 - 日本PHPユーザ会

実際に会場で参加したのは午後のセッションからで、午前中は自宅からUstreamで聴講していました。便利な時代になったものですね。

全般

  • Ruby会議と比べると、全般的に温度が低い印象。おそらくPHPはWebアプリの世界では確固たる地位を築いていることに起因していると思われる。逆に、PHPerから見ると、Ruby会議は暑苦しく見えるに違いない。
  • 技術的に込み入った話はあまり理解できていないが、PHPユーザ会の紹介など、コミュニティ系の話は参考になった。
  • パネルディスカッションでは、各言語の支持者の間で激しいバトルになることを期待していたが、「どの言語にも良さがある」的な流れで、やや拍子抜けした。

以下、自分が聞いたセッションについて一言メモ&感想です。

基調講演: PHPの今とこれから2008 (日本PHPユーザ会 廣川 類さん)

  • PHP 5.3, 6.0の新機能と開発状況の報告がメイン。
  • メジャーバージョンアップで機能を詰め込みすぎて開発が進まないのは、昨今のLLに共通なのだろうか?
  • 挙げられていた機能拡張の中では、MySQL Native Driver がPHPの特徴にマッチしている印象。

楽天×PHP 楽天におけるPHPの過去・現在・未来 (楽天 安藤祐介さん)

  • 楽天のハードウェア&ソフトウェア構成の紹介。
  • ハードウェア的にはSunのハイエンドサーバ+Oracleクラスタ、ソフトウェアはJava系 (GlassFishなど) とLL系 (PHP, Ruby) というハイブリッド構成。この辺はGoogleはてなとは流儀が違う感じ。
  • 各種ソフトウェアの導入・運用ノウハウに関するナレッジ共有が課題として挙げられていた。この辺のうまいやり方は今後重要になりそうな感じ。

大規模向けパッケージソフトウエアとPHP (サイボウズ 米川 健一さん)

  • サイボウズ ガルーン2」のパッケージングに関するコンセプトと実現方法の話。
  • パッケージ製品では、多様な動作環境に合わせて容易にインストールできることが重要。
  • 国際化対応のためのリソース情報は、開発時では実行時に埋め込み、パッケージのビルド時にテンプレートジェネレータを適用して静的に展開することで、開発効率と実行効率を両立させている。

PHPユーザ会 活動報告 (RYUS haltさん)

  • PHPユーザ会の活動内容紹介。個人的には、今日聞いた話の中では最も参考になった。
  • http://events.php.gr.jp に、勉強会などのPHP関連イベント情報を集約している。誰でもイベントを開催して、本ページに告知することができる。
  • [http://planet.php.gr.jp に、PHP関連の様々な情報を集約している。
  • PHPユーザ会は会長・会員名簿・会費・予算のない、ゆるい運営形態を取っている。
  • *.php.gr.jp関連の開発者が1人抜けると運営が滞るという事態を防ぐため、coderepos上でコードを管理し、誰でも修正できる体制にしている。
  • m-takagi++

PHPネタの集め方 (セラン 下岡秀行さん)

  • 下岡さんはPHP関連のネタ収集で有名な人らしい。
  • ネタ収集源の1つは、ブログなどによる他の人 (特にコミッタや開発者、上級利用者など) のアウトプット。
    • 効率良く情報を集める手段として、infoRSS (Firefoxプラグイン)、WWWC (Webページ更新チェッカ) など。
  • それ以外の情報は、自分の手で集める。
    • 技術的な難易度は重要ではなく、試行錯誤して結果にたどりつくまでの過程こそが情報として重要。

パネルディスカッション:「激論!PHPの次に学ぶ言語はこれだ」

  • 各言語支持者による熱いバトルというよりも、PHPと組み合わせて使う (あるいは視野を広げる) のに適した言語、という展開。
  • 注目した発言をピックアップ:
    • 竹迫良範さん (サイボウズラボ): Perlの文化を端的に示す一例としてCPANがあり、「モーニング娘の新規加入メンバーを調べるモジュール」というものまである。
    • 高橋征義さん (日本Rubyの会): 各言語にはそれぞれの固有の文化があり、文化による使い分けができるのではないか。
    • 柴田 淳さん (日本Pythonユーザ会): Pythonは使う人を選ぶ言語だが、PHPは人を選ばない。オブジェクト指向を前提としてしまうと、熱意はあっても技術力の低い開発者をコミュニティに取り込めないので、これはこれで正解なのでは。
    • ひがやすをさん (Seasarプロジェクト): 各言語はそれぞれ良さを持っており、下手に混ぜ合わせると良さが失われる。Javaにもそういう傾向がある。フレームワークも、各言語の特徴を際立たせる形で発展した方が良い。
    • amachang (サイボウズラボ): JavaScriptは、他の様々な言語と組み合わせて使われるハブ的な言語であり、関数型言語オブジェクト指向言語などの複数の考え方を学ぶことができる。