最上の日々 06年12月 24日(日) ▼ DSL(ドメイン特化言語)というのは拡張され続けた結果として、かならず汎用言語になってしまうものだ。けど、最初から計画されていた訳ではないから、汎用言語にとって大事な首尾一貫性にはこういう調子で欠けることに必ずなってしまう。これをさけるためにはどうしたら良いだろうか。 すでに出来てしまった物は仕方ないけど、これからDSLを作ろうと言う人は、新たにDSLを作るのはやめて汎用言語のサブセットにする方が良いと思う。そうして将来の拡張に備えるという方法論をとったら良いと思う。 DSLは汎用言語よりもドメイン内では簡潔に書ける言うけど、大抵それは、ドメインに特化したデータ構造とライブラリのおかげでだと思う。文法などが寄与している場合は困るけど、私の感じではそれほど多くは無いと思う。(ユーザが新しい型を定義できて演算子などをオーバーロードできる汎用言語で無く