補足その2 OCaml Meeting 2010 in Nagoya で話しました

Find Your White Caml というタイトルで一席噺させていただきました。

スライドは http://www.slideshare.net/camlspotter/um2010 にあります。見てやってください。

テーマは「OCaml で書かれた大規模なコードベースを如何に早く理解し、チームの重要な一員になるか」です。要するに他人の書いたコードの読み方です。偶然ですが、浅井先生が私の前にコードの書き方のお話をされましたので、流れ的に良かったのではないかと思います。

ほとんど私の実体験から出てきた噺です。前半は別に OCaml に限った事や無いやんという気もしますが、逆に、OCaml であってもパッと飛び込んだら別に他の言語の仕事と変わらず、catch-up が大変ということをお知らせしたく、強調しました。それは、当然 Haskell でも同じです。まあ魔法のような言語は、世の中、ないということで。

結論は、誰がなんと言おうと利用できるツールは利用してさっさとコードを読めるようにしないと幹部にはなれないよってこと。実際それを痛感した私は OCamlSpotter というツールを書きましたので、使ったほうが良いよ、というかさっさと使え、ということです。まあツール書いといて転職したら意味ないねんけどな。

コードはここから: http://jun.furuse.info/hacks/ocamlspotter

エーと、お恥ずかしいんですが、何人かの方に、どうやったらこういう発表が出来るのか、とご下問いただきましたので、考え付く範囲でコツをお答えします。

  • 笑いを取る。昔、大堀 淳先生は私達に言いました「発表で一回くらいは冗談を入れないと駄目ですよ。話の細かいところが判らなくてもわざわざ座って聞いてくれている人のことを考えないといけません。」ふむふむ、なるほど。それから私は冗談ばかり入れる様になりました。まず最初にどこで何の冗談を入れるかから考えているようではもう駄目ですね。
  • 落語を聞く。良い発表をしたければ良い落語を聞くべき。落語はスライドも無いのに手まねと喋くりだけで言いたいことを発表する訳ですから参考になります。僕が良い発表をするかどうかは知りませんがいつも一席噺をぶつ感じでやってます。私は関西人ですから、上品な喋り口の米朝師匠をお勧めします。松鶴師もいいですが、発表で真似するとなんや面白いけど何言うてるかは誰も判らんかった、ってことになりかねません。
  • 聴衆理解度曲線を念頭に置く。昔 Pierre Weis 師匠は私に言いました。「発表では初めはその場のほとんど100%位の人が理解できるように話しなさい。そこから、時間とともに話の内容を理解している人の数を 1/t (t は時間) 的に減らしていって、最後は自分しかわからない話をすると、とりあえず、皆わかった気持ちになると同時に、お、こいつは俺のわからんことも知ってるな、となってよろしい。」ま、あまり今回は関係ないですな。
  • 十分準備する。駱駝の絵は一年位前から用意していました。OCamlSpotter は一昨年から使っていました。先週結論が出た内容を発表するってのとは、深みが違うはずですw。スライド自体は二日で作りましたけど。白黒にしたのは色つけてる時間が無かったからです。あれ?準備が十分じゃない……
  • スライドはミニマルにする。色々文句書いても誰も読まんです。俺は読まない。目が悪い。なんで、要所だけ書いておいて後は喋くりで。後でスライド見ると、なんだか含蓄があるようで良い。実は無い。
  • 四十近くになったら練習がいらなくなる。まあ、そういうことですわ。酒飲んでベラベラ自分語りするようになったら、まあ人生も折り返し点ですが、その代わり、練習せんでもそれなりに発表できるようになりますわ。
  • 気楽に噺をする。私はもう研究職ではないのでお気楽ーに噺します。

スライドの絵のモチーフの一部は Portal というゲームをちょい参考にしています。Portal 2 がもうすぐ出ますね。面白いといいけどなあ。