irohiroki's blog 2

Web apps and Geekies

コーディングにおける「深いレベルの『創造』」について

12月8日、渋谷で開催されたAgile Samurai Boot Campにサポーターとして参加した。本編の中でも参加者の質問などを通じて学ぶことがあったのだが、今回はその話ではないので割愛する。ただ、そのような経験をできたのは主催の西村直人さん/永和システムマネジメントや会場提供のサイバーエージェント様、スポンサーのCodeIQ様、それから参加者とスタッフの皆さんのおかげなので、この場を借りて感謝致します。ありがとうございます。

さて、事件(私にとってはちょっとした事件だった)は打ち上げ会場の土佐料理店「祢保希(ねぼけ)」で起こった。私の斜向かいには@t_wadaがいらっしゃって、宴会の終盤まではイベントの内容をふりかえったり言語処理系やライブラリの話を聞かせてもらったりしていた。話が途切れたときに思い出したことがあったので、聞いてみた。

最近僕はパターン・ランゲージに強い興味を持っていて、その道の権威である井庭崇先生をウォッチしているのだが、井庭先生が先週公開した資料つくること = 生きること : パターン・ランゲージによる創造の支援には特に惹きつけられた。そこには映画監督や作家、作曲家たちが創作活動の中で体験する、ある共通した感覚について語られていた。詳しくは直接資料を参照して欲しいが、まとめとして以下の3つが挙げられていた。

  • 「自分が“決めて”つくっているのではない」という感覚
  • 「収まるべきところに収まるように」という意識
  • 「つくることは探求すること、変わること」という考え方

偉大な創作活動をしている著名人たちが口をそろえて、自分が作っているのではない、作品が作品になろうとするのに従って、そのあるべき姿を探求しているのだという体験を表明していた。

この資料を見て、これはコーディングにも当てはまると感じ、その確証を得るための資料や証言を探していた。そこで和田さんにも思い当たることがないか聞いてみたのだ。

するとその答えは驚くべきものだった。

「私が今日言いたくて上手く言えなかったのは、これです」

和田さんは質疑応答の中で、設計とTDDの関係について答えようとしていた(この辺は僕の解釈で書いているので多少の誤解・語弊があるかもしれません)。設計がないとTDDのサイクルは回せないのではないかという命題に対する回答である。そこで参加者に伝えたかったが、伝えきれたか自信が持てない内容が、当の資料に書かれているということだった。

これは願ってもない回答だった。僕はコーディングをするものとして“深いレベル”に到達したい。また、コーディングをする誰もが“深いレベル”に到達するためのサポートをしたい。そのためには、“深いレベル”が何なのかを把握しなければならない。和田さんの回答によって、求めるもののヒントが得られた。具体性には欠けるが、目指す方向は間違ってないと確信できた。

また、類似した記述のある図書としてケント・ベックのSmalltalkベストプラクティス・パターンを挙げていただいた。実は僕は同日イベント会場で@kakutaniにも同じ質問をしており、そのときの回答もこれだったので、間違いないのだと思う。これは未読なので(問題のピアソンだが)入手して目を通すつもりだ。

そういうわけで、Agile Samurai Boot Campのサポーターというだけで、和田さんと角谷さんをとっ捕まえて貴重なヒントを頂くことができた。しかも、かなり確度の高い証言を得られたように思う。顔見知りというだけでこのような話をしていただけるのは感謝に尽きない。ありがとうございます。

このコーディングにおける「深いレベルの『創造』」の話は、興味を持ってくれる人との対話や資料を通して、もう少し探求していけたらと思う。