Я за качественный DSL. XML или JSON это приемлемо в какой-то мелкой программе, где парсер был бы больше её самой.
В принципе можно DSL на основе другого ЯП. К примеру в Gradle можно использовать DSL на основе Groovy или Kotlin. Если этот другой ЯП позволяет такое использование.