メタと開発
最近メタな本ばかり読んでたので、余韻があるうちにメモ。
開発者にとってメタは、身近な存在。3つあげてみる。
1つ目。プログラミングレベルは、メタプログラミングというキーワードで、すぐに発見できる。Lispなんかはお家芸だろう。JavaScriptをJavaScriptで書き換えて独自の語彙体系を提示したPrototypeやjQueryの発想もメタ的で興味深い。言語内DSLなんかもね。
2つ目。プロジェクトもメタを扱う。ふりかえりは、プロジェクトをメタ的に取り扱う典型的な道具。神の視点、一人の管理者の視点に頼るのではなく、会話を通じて複数のプロジェクトメンバの視点を引き出すところは、興味深い。
3つ目。ソフトウェアをつくるという過程を通じて、ユーザの暮らす/働く世界の制作に関与という点では、プログラミンングという行為自体は、メタ的な存在とも言えるであろう。
Cucumberは、少なくとも1つ目と3つ目のメタを同時に扱っている。ふりかえりでSpecの取り纏めかたについてのテーマがあがるなら2つ目も関わってくるだろう。
http://drnicwilliams.com/2009/04/15/cucumber-building-a-better-world-object/
の「building a better world」というタイトルに、はっとさせられた。
記事内容は、spec codeをより良く書く方法みたいな内容で、ユーザの暮らす/働く世界をより良くしようというものまで言及しているわけはない。
ただ、タイトルに「building a better World (object) 」としたこと、Cucumberに「world」といったキーワードがあること自体、色々と想像をかき立てる。だって、worldをextendしちゃうんだぜ!?
Cucumberでspecを書いているとき、
はてさて、僕らはソフトウェアをつくっているのか、ソフトウェアとともに過ごすユーザの世界をつくっている過程なのか。。。。
さて。そろそろ、現実に戻るかな。今日、東京に帰還する予定。