This is misleading on the DSL’s. The problems the author states is only true if you build a standalone DSL. Embedding a DSL in a language with good, tool support gives you IDE’s, debugging, etc. If it’s LISP or Haskell, it might also be same language as your apps or at least supporting tools. That makes it even easier since the developers constantly debug or extend such code.