簡易言語はナイフのようなもので、様々な用途がある。DSLは電動ドリルのようなもので、穴を空けることにかけては強力なツールである。このメタファでは、それら工具に対し、汎用のプログラミング言語は工具の材料である工具鋼に相当する。道具というのは「一つの目的に特化する」のが基本であり、たとえばモンキーレンチや、さらには十徳ナイフのようなものは便利だが代用品である(プログラミング言語が十徳ナイフに相当するものではないのは言うまでもない)。DSLに関する話題.利用パターン.DSLを利用するパターンには以下のような場合がある:設計目標.DSLを採用するDSLには汎用プログラミング言語にはない次のような重要な設計目標がある:例.シェルスクリプト.MediaWikiのテンプレート.ソフトウェア工学での応用.ドメイン固有言語は、生産性と品質を向上させるものとして、ソフトウェア工学の分野で注目されてきた。DSLが効率的ソフトウェア工学のためのツールの土台となる可能性を秘めている。そのようなツールは一部のシステムの開発で使われ始めている。比較的新しい分野としてがある。これは、DSLの作成・最適化・利用を中心にすえた方法論である。メタコンパイラ.言語指向プログラミングを含めあらゆる形態のDSLを補完するものとして、と呼ばれるコンパイラ記述ツールがある。メタコンパイラはDSLの構文解析器とコード生成器を生成するのに便利というだけでなく、それ自体がコンパイラ記述に特化したDSLでもある。一般的なパーサジェネレータにはないメタコンパイラ特有の特徴として、メタコンパイラは独自の言語で書かれており、メタコンパイラ自体を実行形式に変換することができる。自分自身を定義し変換できるという点で「メタ」なステップを構成しており、メタコンパイラと呼ばれる。DSLの構文解析だけでなく、メタコンパイラは様々なソフトウェア工学と分析のツールを生成するのにも有効である。メタコンパイラの方式は、汎用ツール群構築の際のブートストラップのためにでよく使われている。計算機科学史上重要なメタコンパイラとして、とその後継であるがある。ポリシー自動化のためのルールエンジン.