PROGRAMMER'S HIGH!


2009-07-08

オブラブ2009夏・若人トラックで発表しました

毎度おなじみのオブラブ夏イベントが 昨日7/7の七夕に開催されました。その中で30歳以下のオブラブメンバーが思いのたけをぶつける「若人トラック」が催され、私も若人の一人として参加してきました。 (ある参加者の方に「森田さんって、まだ30代じゃなかったんですね。」と言われました。 仕事では大人力が存分に発揮されている、というふうに解釈させていただきます。:-)

私は「あなたにとってのクロージャとは?」というタイトルで発表させていただきました。 これは檜山さんのブログのコメント上のやりとりが元になっていまして、「みんなの想像している"クロージャ"とはどういったものなんだろう?」という疑問から、観客のみなさんにどんどんと質問していく形式で構成しました。

当日の発表資料は以下です。

その中では、「世間的なクロージャの意味は、人によって異なる。」ということを前提に、クロージャと思しき特徴・特性を一つづつ挙げて、それら特徴・特性はクロージャに必須のものか? それとも無くてもクロージャとして成立するものか?という質問を投げかけていきました。

それら質問内容と質問結果は以下になります。 質問内容の詳細については発表資料を参考にして下さい。

  1. 「クロージャって知ってますか?」
    1. そんなの聞いたことないよ。 ... 1人
    2. 聞いたことぐらいはあるよ。 ... 2人
    3. なーんとなくなら知ってるよ。 ... 7人
    4. 知ってるよ。便利だよねアレ。 ... 4人
    5. 任せて。詳細に説明できるよ。 ... 0人
  2. 私のクロージャの理解は、学術的定義と同じで、処理系における一級関数の実装方式だと思ってた、という方はいますか?
    1. YES ... 0人

    --- 以降、質問1.で3./4./5.の回答をした方向けの質問 ---
  3. 第一級関数
    1. クロージャにとって必須だと思う。 ... 7人
    2. クロージャにとって必ず必要だと思わない。 ... 2人
  4. レキシカルスコープ
    1. クロージャにとって必須だと思う。 ... 3人
    2. クロージャにとって必ず必要だと思わない。 ... 8人(Emacs Lispを蔑まされていると感じてこちらを選んでしまった、という方が2人ほどおられました。)
  5. 環境を閉じこめる
    1. クロージャにとって必須だと思う。 ... 5人
    2. クロージャにとって必ず必要だと思わない。 ... 5人
  6. 環境に対する副作用
    1. クロージャにとって必須だと思う。 ... 2人
    2. クロージャにとって必ず必要だと思わない。 ... 8人

観客数もそんなに多くないのと、オブラブイベントに参加する層ということで、なんらかの偏りがある可能性がかなり高く、統計的にはほとんど意味をなしませんが、それでも思った以上に皆が想像する「クロージャ」と いうのは違う物だなぁ、というのを実感しました。当日ご協力いただいた観客の皆様には感謝いたします。

ちなみにそういう自分はどう思うのか?ということに関しては、檜山さんのブログのコメント欄や発表資料に 記載されている通り、質問3. 〜 6. すべての要素が必要なんでないかなぁ、と思っています。

イベント当日はスタッフとして参加していたこともあり、準備、発表、片付けなどいろいろと大変でしたが、 非常に楽しいイベントになりました。来て頂いた参加者の皆様、お忙しい中発表していただいた皆様、そしてスタッフのみんな、ほんとうにありがとうございました。 まだ次回の予定は立っておりませんが、こちらをチェックしていただき、 奮ってご参加いただければと思います。

[]