DSLは利用者が設計するものだ
Jay Fields' Thoughts: Designing a Domain Specific Language
Jay FieldsはThoughtWorksのプログラマーで専門はDSLだ。
どんなDSLに設計するか。DSLの利用者(≠DSL設計者)にどんな言語にしたいかを尋ねることがミソ。利用者にとって利用しやすい言語は利用者自身が考える。こういう方式はBusiness Natural Languageという形となって成功した。プログラマーにとって利用しやすいだけではダメだ。
利用者の問題領域は利用者自身が知っている。だから、DSLは利用者が設計する。プログラマーはそれを実行可能な形に変換するまでだ。
そんな彼が今までのDSL設計の経験の集大成としてexpectationsという新たなRubyのtesting frameworkを作成した。
http://expectations.rubyforge.org/files/README.html
Expectations do # State based expectation where a value equals another value expect 2 do 1 + 1 end end
おおー、かっけええぇぇぇぇ!これからつこてみよかな。