年に一度のPHPの祭典、PHPMatsuriが10月15日から大阪で開催されます。PHPMatsuriはゲストによる講演と開発スペースでの開発大会(ハッカソン)を同時に行うというイベント形式でいわゆるカンファレンス、セミナーとは少し違っています。今回はイベントの開催に向けたリレーブログの先陣を切る形でハッカソンに参加すると事の価値を考えてみようと思います。

プログラミングはコードを書く事抜きには理解できない

プログラミングの世界では次から次へと新しいフレームワークやライブラリ、ツールなどが登場します。興味を持った技術についてWEBページや書籍を読んだりする事は新しい知識を入手する最初の方法です。しかし、本で読んだだけのプログラミング言語やフレームワークを「理解した」と言えるでしょうか?ポール・グラハムのエッセー「ハッカーと画家」にこんな一節があります。

作家や画家や建築家が、創りながら作品を理解してゆくのと同じで、 プログラマはプログラムを書きながら理解してゆくべきなんだ。

多くの場合は実際に書いてみると、自分が理解していなかった点がありうまくいかなかったり、手を動かしてみて初めて理解できたと実感した経験は誰でもあるのではないでしょうか。実際にプログラムを書くという行為は絶対に必要な要素と言って良いでしょう。ハッカソンにはその為の時間と場所があります。

コードを公開する事による効果は予測を越える


実際にコードを書く際にGoogleなどで色々検索するというのは普遍的なアプローチです。ちょっとしたオプション指定やエラーメッセージ、gitのコマンドの使い方などで毎回検索しているものが誰にでもありますよね。しかしそういった内容を自分自身が公開した回数は検索する回数よりもずっと少なかったり、あるいは0だったりしませんか?
コードを公開するというのは心理的に抵抗があるものです。汚いとか拙いという批判を受けたら困るとか、そもそも自分の書いた断片にそこまでの価値は無いだろう、もうすこし出来上がってからでいいだろうなんていう理由がすぐに出てきます。しかし実際の所コードを公開する際には規模や完成度は必須条件ではないはずです。僕自身もRedmineをPHPに移植したCandyCaneを公開する事でヨーロッパや南米といった予想もつかなかった所からの反応を得る事ができました。また逆に同じくRedmineを移植しようとして最初の画面だけで放置していたフランスの方を発見して協力して貰う事もできました。もし彼が作りかけのコードを公開してくれていなかったら、僕は彼を捜す事はできなかったですし、フランス語の翻訳が行われるのももっとずっと後になっていたと思います。
どんな小さな断片であってもコードを公開した効果はどこかで現れます。そしてそれはバタフライ効果のように自分の想像以上の形で返って来る事があります。

非日常に参加する事で自分のセンスを呼び起こす


プログラムを書いてみようと思ってもなかなか実行できないのが世の常です。またそもそも毎日業務で書いているとそれ以外の事をする余力が生まれてこないのも仕方ない事と言って良いでしょう。ですがハッカソンは非日常の世界です。(なのでジェダイの騎士も登場します)
その雰囲気は高校の文化祭の前夜のような不思議な連帯感と何があっても許されるような雰囲気、自分でも想像もしないような根気が生まれて来るそんな空間です。
また海外からのゲストと直接やりとりする事ができるというのも特別な出来事です。時間はたっぷりとありますし、動かそうとしているコードという題材もあってコミュニケーションは取りやすいです。海外ゲストでなくても気になっているプログラマーや技術があれば近くに陣取るだけで色々なインスピレーションが得られるでしょう。

PHPMatsuriの参加チケットはイベントの1週間前か、予定数に達した時点で販売を閉め切ります。特にこれまでハッカソンに参加した事が無い方にこの時間を経験してもらいたい!と思って準備を進めています。すでに予定数の3割くらいの参加者がチケットを購入していますので、ぜひとも参加を検討してみてください。お祭りの会場で待っています!

では明日のリレーブログ担当の@hidenorigotoさんにバトンをお渡しします。