The Problem with DSLs

DSLs pop up as a Good Thing(TM) every once in a while. I’m not entirely opposed to DSLs - there are certainly many cases where they make a lot of sense. But I am opposed to them as a general, let’s throw it in there kind of tool.

The problem with DSLs is that they’re domain specific. In all likelihood I’m not interested or engaged enough in that domain to learn a new language for it. While a DSL might be more beautiful or concise than a general purpose language for a particular domain, I’m much more likely to be conversant in the general purpose language.

DSLs create significant barriers of entry for casual users, since they force the users to learn and remember brand new languages.