ツール=1象限という前提は粗い — 象限は自由度ごとに落ちる
「記述言語(外部DSL / 汎用言語)× 記述自由度の所在(言語が決める / 規約に委ねる)」の2×2は、暗黙に「ツール = 1象限」を前提していた。構成記述系DSL 11個を同じ枠組みで点検すると、この前提は部分的に破綻する。多くのDSLは3自由度ごとに別の象限に落ちる。
- Pkl / KCL / Dhall / Jsonnet / Nickel:抽象化追加だけ「規約に委ねる」、複数量制御と実装切替は「言語が決める」という共通パターン
- Crossplane: YAML層とfunction層で別象限を同時に占める(二層構造)
- cdktf:複数量制御でホスト言語とTerraform
for_eachの2経路を併用できる
したがって2×2は、3自由度の集計値としてではなく、3自由度ごとに別マップとして読み替えるのが正確である。ツールを一点に配置する図は概観としては使えるが、比較の道具として使うときは自由度ごとに分解しないと実態を取り逃す。
Terraform(3自由度すべて言語)、CDK / Pulumi(3自由度すべて規約)のように一象限に収まるツールもあるので、前提が常に間違っているわけではない。単純化が効くツールと効かないツールがあり、それを判定せずに一象限に配置することが粗いのである。