言語作りといってもそれほど大げさな話ではないというような話をしました。「ちょっと凝った設定ファイル」とか「ちょっと凝ったライブラリ」というような流れがあるということも話しました。具体例を挙げて紹介します。外部言語ユーザが自由に変えれる設定や、ユーザには触らせないにしてもプログラム完成後にこまごまと調整したい部分は、たいていは、設定ファイルとしてプログラムから分離します。条件分岐やらなんやら、凝ったことがしたい場合が時々あって、そうなってくると、徐々に1つのプログラミング言語的なものになってきます。ある意味、新しい言語を作ってから、その新言語でプログラミングしているようなものです。汎用プログラミング言語の構文に従うよりも書きやすい構文ってのがあるから。このように、用途を絞ること(ドメイン特化)で書きやすい構文を作ろうというのがドメイン特化言語(DSL)の考え方。以後は設定ファイルの方をいじるだけでプログラムのカスタマイズがかなり効く、というような使い方です。場合でもこれと同じような使い方が考えられます。対して、プログラム自体も、設定ファイルも変えつつ開発というのも考えられます。